Commit Graph

256 Commits

Author SHA1 Message Date
Pietro Gagliardi 0bc140cd46 Dropped uiDrawTextGravity. That has to do with vertical text, which we can both abstract into a higher level API and can't do yet because DirectWrite simply does not support vertical text on Windows 7 for reasons that escape logical thought. 2016-04-15 00:24:27 -04:00
Pietro Gagliardi 042b08f31c Implemented uiFontButton on GTK+. 2016-04-14 15:55:04 -04:00
Pietro Gagliardi 7f2194c383 Typo fixes in the previous commit. 2016-01-24 21:50:10 -05:00
Pietro Gagliardi ab0230b428 Added a function for scrolling uiAreas. Implemented on OS X; stubbed elsewhere. 2016-01-24 21:41:34 -05:00
Pietro Gagliardi febb37700a "Fixed" the FreeBSD build. 2016-01-22 13:08:36 -05:00
Pietro Gagliardi b0621a6b1f Implemented the new multiline text stuff on GTK+. 2016-01-16 15:59:34 -05:00
Pietro Gagliardi 9442ebd53a More TODOs. 2016-01-13 15:59:45 -05:00
Pietro Gagliardi 6394446461 Fixed text rendring on GTK+. 2016-01-13 15:48:39 -05:00
Pietro Gagliardi 621d75695c More (serious) TODOs. 2016-01-13 14:34:28 -05:00
Pietro Gagliardi 776be61c45 Implemented metrics on Pango. 2016-01-12 23:33:50 -05:00
Pietro Gagliardi f9b6eba7df Implemented the new font stuff on GTK+. 2016-01-12 16:59:13 -05:00
Pietro Gagliardi ca514d94d1 Set up a proper, formal layout and attirbute system. No attributes right now, but initial font style is in. Implemented it on GTK+. 2016-01-07 18:37:43 -05:00
Pietro Gagliardi 6a15e23897 Set up saner handling of sonames at build time. 2016-01-05 11:51:36 -05:00
Florent Clairambault e24c8f6440 Merge remote-tracking branch 'upstream/master' 2016-01-02 13:27:08 +01:00
Florent Clairambault c204e47b72 Various fixes around makefiles
* $PREFIX is uppercase (I have no idea why I put it lowercase before).
* "install" rules is OS specific and moved to new OS specific files. So that they can be included last.
* "examples" rule defines the list of examples to execute.
* Travis launches the "test" rule.
2016-01-01 23:19:14 +01:00
Florent Clairambault cfcbe9859f Tiny warning fix.
Why not switch to -Werror by the way ?
2016-01-01 01:45:32 +01:00
Pietro Gagliardi 353afcd464 Added the Language field to the text styles list. 2015-12-24 22:31:32 -05:00
Pietro Gagliardi 6ef404c2dd Implemented the basic uiDrawText() function on GTK+. It looks like I missed some PangoAttributes; I'll add those in next. 2015-12-24 19:48:57 -05:00
Pietro Gagliardi 5d47fcab5a Implemented the font family enumerator on GTK+. 2015-12-22 19:17:27 -05:00
Pietro Gagliardi 2ce0c810f1 Added a test of mouse events in a scrolled uiArea. Removed some dead code from the GTK+ uiArea. Now to make the changes to the Windows and OS X backends! 2015-12-17 21:21:29 -05:00
Pietro Gagliardi cc7dd186e5 Fixed runtime issues with uiArea on GTK+. It works! 2015-12-17 19:59:33 -05:00
Pietro Gagliardi 78b714c238 Oh neat, only one compiler error. Now to rewrite the tests. 2015-12-17 19:19:08 -05:00
Pietro Gagliardi e167b08fdb Finished reimplementing the GTK+ uiArea. Now to build. Then to rewrite the tests... 2015-12-17 19:16:30 -05:00
Pietro Gagliardi 8ea3b07aa8 Got rid of the clientWidth and clientHeight variables. 2015-12-17 17:37:58 -05:00
Pietro Gagliardi 473c6c92f0 FINALLY removed areaPrivate from uiArea on GTK+, using uiArea itself for everything. Standardized variable names on that front. Also implemented MouseCrossing() there. 2015-12-17 16:49:59 -05:00
Pietro Gagliardi 1957ff1418 More TODOs. 2015-12-17 16:31:56 -05:00
Pietro Gagliardi ffe9a2db28 Got rid of the GtkScrollable code from GtkDrawingArea for uiArea. Woo! Now we just have to nuke all that from the Cocoa backend and we're good. 2015-12-17 14:48:58 -05:00
Pietro Gagliardi 4e256dfc95 Fixed some oversights in the GTK+ uiArea code. 2015-12-16 18:09:04 -05:00
Pietro Gagliardi 3f9862c472 OUCH. Fixed a MASSIVE bug in the GTK+ implementation of uiWindow: uiWindowSetChild() was DESTROYING the old child, not merely removing it! The other ports don't have this bug. 2015-12-12 15:30:56 -05:00
Pietro Gagliardi acf3b3564e Set up the new Unix build. Now to do the OS X build. 2015-12-11 18:37:15 -05:00
Pietro Gagliardi 70886e4ade Moved the old build files away. Yes that's right folks, we're redoing the build system *again*! Isn't that *fun*? 2015-12-10 18:49:50 -05:00
Pietro Gagliardi 2705f93305 Added uiMultilineEntry, wrote it on GTK+, and wrote the uiQueueMain() test. It works on Unix. 2015-12-06 01:18:32 -05:00
Pietro Gagliardi f77955aefb Added uiQueueMain() (basically g_idle_add()) and implemented it on all platforms except Haiku. A test to come. After this we can start rewriting the Go package ui at long last. 2015-12-04 23:42:03 -05:00
Pietro Gagliardi 8084041139 Removed uiAreaHandler.RedrawOnResize(); Direct2D requires us to always redraw on resize (see previous commit). Added windows/amd64 to the example makefiles and updated them to use libui.xxx instead of new.xxx. 2015-12-04 21:04:51 -05:00
Pietro Gagliardi 3943c2c65e Implemented the dialog changes on the GTK+ backend. 2015-11-28 11:02:58 -05:00
Pietro Gagliardi ff9dcc6d58 Wrote the Haiku allocator and fixed some leftovers in other allocators. 2015-11-17 12:51:51 -05:00
Pietro Gagliardi c40e80d5a5 Added C++ to the build and started writing the actual Haiku code. I think this isg oing to have to require a GCC 4 hybrid... 2015-11-17 11:49:23 -05:00
Pietro Gagliardi 5e29d07d20 Moved all the table stuff out of the way. I need to decide what I'm going to do with it. 2015-11-16 10:52:19 -05:00
Pietro Gagliardi 5d26b9b059 Finished the uiTable test and fixed errors. 2015-10-19 10:52:36 -04:00
Pietro Gagliardi 056db88de0 More uiTable work. I'm not too happy anymore... 2015-10-18 18:55:06 -04:00
Pietro Gagliardi 4577cb79a1 Started the GTK+ implementation of uiTable and added uiTableSubscriptions. This is a mess already :D 2015-10-18 13:59:38 -04:00
Pietro Gagliardi f19d3cd0c7 More makefile work. 2015-10-16 22:49:54 -04:00
Pietro Gagliardi 790edf0df8 Assembled a new make system. Not quite working the way I'd like yet, but definitely a start. 2015-10-16 20:55:09 -04:00
Pietro Gagliardi ab97e26efc Moved all the common stuff in a new folder common/. This is part of the makefile simplification. 2015-10-16 18:31:14 -04:00
Pietro Gagliardi 1cadb85bd0 Added line dashing and implemented it on GTK+. 2015-10-16 10:09:41 -04:00
Pietro Gagliardi 6849b01f73 Switched coordinates to floating-point drawing space and implemented such on GTK+. 2015-10-14 08:49:06 -04:00
Pietro Gagliardi 2cbbc6c69d Removed the DPI fields from uiAreaDrawParams. We no longer worry about DPI. 2015-10-13 19:44:16 -04:00
Pietro Gagliardi cc827919b8 Added uiDrawClip() and implemented it on GTK+. 2015-10-13 11:16:06 -04:00
Pietro Gagliardi c6cdabe20d Preparation for proper, extensible state tracking and clipping on Windows. 2015-10-12 21:11:42 -04:00
Pietro Gagliardi 818d954654 More transformation tests and work. 2015-10-12 09:08:50 -04:00
Pietro Gagliardi de3ccecd5b Implemented skewing. Will do the test now. 2015-10-12 07:58:07 -04:00
Pietro Gagliardi 46e3fee40d Added a center point to scaling transforms. Fixed rotations on GTK+. 2015-10-12 01:43:12 -04:00
Pietro Gagliardi e51fd6e494 Implemented negative arcs on GTK+. 2015-10-11 21:18:39 -04:00
Pietro Gagliardi b09cdb5137 Made 90° point toward y=+∞. 2015-10-11 20:24:06 -04:00
Pietro Gagliardi 0ae3ef918d Implemented the matrix stuff on Windows. Also fixed the signature of uiDrawMatrixSkew(). 2015-10-11 12:36:48 -04:00
Pietro Gagliardi 3d8f8f0756 Implemented a basic translation. 2015-10-11 11:42:07 -04:00
Pietro Gagliardi 87680a6470 Built the framework for matrices and transformations and implemented it on the GTK+ backend. Tests to come next. 2015-10-11 11:13:01 -04:00
Pietro Gagliardi 7fbabfd8ec Fixed the GTK+ drawing code to draw arc initial line segments in the correct place. 2015-10-10 08:44:12 -04:00
Pietro Gagliardi 3cbc3f3c67 Made arc angles counterclockwise on the GTK+ backend and fixed the sun in the Direct2D geometries howto. 2015-10-09 23:13:15 -04:00
Pietro Gagliardi 73d77ef38b Capped sweeps at 2π radians. 2015-10-09 22:00:41 -04:00
Pietro Gagliardi 2c7ed07747 Changed the arc functions to take a start angle and a sweep amount instead of a start angle and an end angle. This makes it easier to reason about sweeps > 2π radians. 2015-10-09 21:51:43 -04:00
Pietro Gagliardi 7075bea0f5 Added uiAreaQueueRedrawAll() and implemented on all platforms. NOW we can focus exclusively on the test suite. 2015-10-09 15:27:57 -04:00
Pietro Gagliardi 843ea0d46c Implemented uiComboboxSetSelected() on GTK+. 2015-10-09 13:54:34 -04:00
Pietro Gagliardi 5d19387811 Did scrolling for the uiArea test and uiArea itself on GTK+. 2015-10-09 10:09:55 -04:00
Pietro Gagliardi 752467b543 Fixed up the GTK+ uiArea a bit. 2015-10-09 03:43:29 -04:00
Pietro Gagliardi ef04c18856 Merged the GTK+ uiArea implementation with its backend. Now we just have to move the test program. 2015-10-08 18:24:09 -04:00
Pietro Gagliardi 06f17aa4de Implemented the new uiCombobox stuff on GTK+. 2015-10-08 14:55:18 -04:00
Pietro Gagliardi 54332b90fb Finally merged out the redo folder. 2015-09-02 13:48:06 -04:00
Pietro Gagliardi 46b865a298 Begin the GTK+ backend migration. 2015-08-27 12:29:19 -04:00
Pietro Gagliardi 8213eac2d7 Moved everything up a directory level. 2015-08-27 12:05:11 -04:00
Pietro Gagliardi d98ca5dfd4 Removed more files from the top level. 2015-08-27 11:59:59 -04:00
Pietro Gagliardi 7abf88d9ef Finished reimplemented GTK+ uiTab. 2015-07-01 01:02:34 -04:00
Pietro Gagliardi 381c7e9277 Implemented the new bin system on uiTab. 2015-06-30 22:36:12 -04:00
Pietro Gagliardi 8e89f60330 Reimplemented GTK+ uiLabel. 2015-06-30 22:10:52 -04:00
Pietro Gagliardi a79368e26b Reimplemented GTK+ uiEntry. 2015-06-30 11:26:54 -04:00
Pietro Gagliardi 8361b4d41a Removed the old GTK+ uiCheckbox. 2015-06-30 11:20:28 -04:00
Pietro Gagliardi c73b506709 Reimplemented GTK+ uiCheckbox. 2015-06-30 11:20:14 -04:00
Pietro Gagliardi cf4dd17bb4 Removed the old unix/button.c. 2015-06-30 10:54:08 -04:00
Pietro Gagliardi 96172d9b04 Finished the implementation of GTK+ uiButton and implemented a few fixes and added some TODOs. 2015-06-30 10:52:38 -04:00
Pietro Gagliardi c8a53277c3 Readded the tab 2015-06-29 22:49:12 -04:00
Pietro Gagliardi da520af372 More GTK+ control stubbing. 2015-06-27 19:46:11 -04:00
Pietro Gagliardi 5ae4afd0d5 More work. Guess I'm creating all the widgets now... 2015-06-26 21:52:42 -04:00
Pietro Gagliardi 10e8d3203f Started migrating the GTK+ container. 2015-06-15 23:03:07 -04:00
Pietro Gagliardi 58a4b5d2da More work. uiSizing on Unix done. 2015-06-15 22:36:49 -04:00
Pietro Gagliardi 61b791d9f1 Moved uipriv_unix.h back. 2015-06-14 00:58:10 -04:00
Pietro Gagliardi 930c4e6883 More migration. 2015-06-11 18:01:05 -04:00
Pietro Gagliardi 8d9e229183 Started the new GTK+ backend. Migrated files that don't need changing back. 2015-06-09 22:45:35 -04:00
Pietro Gagliardi f100989803 Fixed up wording on some errors in windows/menu.c and unix/menu.c. 2015-05-13 10:25:54 -04:00
Pietro Gagliardi a517beccae Added uiContainerUpdate() calls to each SetMargined(). 2015-05-11 12:42:13 -04:00
Pietro Gagliardi 2c9e63d8d2 Same as previous commits, but for uiContainer. We don't need to do these because everything that calls uiControlSetParent() (which should only ever be a uiContainer) should also be updating themselves afterward (or are about to be destroyed). 2015-05-11 12:20:41 -04:00
Pietro Gagliardi df376a5e0b Started to optimize container updating. Removed container updates from each new control set parent. 2015-05-11 12:16:28 -04:00
Pietro Gagliardi c6b4d80602 Decided what to do about menuless menubars and implemented it. 2015-05-11 00:15:40 -04:00
Pietro Gagliardi c0c6b4fed6 Made all variables that refer to a tab page be called 'page'. 2015-05-10 21:22:22 -04:00
Pietro Gagliardi 8f24dffa01 Migrated the GTK+ backend to the new uiBin system. 2015-05-10 14:05:59 -04:00
Pietro Gagliardi b08e8f36d4 Inhibited uiEntryOnChanged() with uiEntrySetText() on GTK+. 2015-05-09 21:05:51 -04:00
Pietro Gagliardi 5ef355f28f Implemented the ShouldQuit() stuff for the Quit menu item on the GTK+ backend. 2015-05-09 10:50:03 -04:00
Pietro Gagliardi d43c8b5584 Fixed some latent bugs in unix/menu.c. 2015-05-08 14:14:05 -04:00
Pietro Gagliardi 5cf19dcc17 Added the type names back to the allocators. Implemented on GTK+ only for now. 2015-05-08 10:24:03 -04:00
Pietro Gagliardi 057c6d0cfd Implemented menu uninit on GTK+. 2015-05-08 10:17:33 -04:00
Pietro Gagliardi dc7274c067 Fixed a bug in unix/alloc.c. 2015-05-07 23:35:43 -04:00