Commit Graph

185 Commits

Author SHA1 Message Date
Pietro Gagliardi 980f5a7419 Some more text API changes. 2016-01-10 21:02:40 -05:00
Pietro Gagliardi 2342f191f4 More TODOs. Big TODOs. 2016-01-09 20:58:52 -05:00
Pietro Gagliardi 9b1b7ce365 More TODOs. 2016-01-09 18:36:21 -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 6f10fcaee7 Trivial change: Windows sizing stuff gone. 2016-01-04 16:13:54 -05: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 280ef464f6 Started work on text rendering. Right now, features match Pango; they will be stripped as needed. Also I never committed test/page8.c; whoops. 2015-12-24 18:05:16 -05:00
Pietro Gagliardi 5d47fcab5a Implemented the font family enumerator on GTK+. 2015-12-22 19:17:27 -05:00
Pietro Gagliardi 9987c98dcd Began the work to list font families. This is the first of the text rendering work. 2015-12-22 19:01:56 -05:00
Pietro Gagliardi 4edcddce14 Fixed the ID2D1RenderTarget::GetSize() madness a *SECOND* time. Urgh. Also removed a now-irrelevant TODO. 2015-12-18 15:04:37 -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 e9247858d4 Forgot a parameter in uiAreaHandler.MouseCrossed(). 2015-12-17 14:20:17 -05:00
Pietro Gagliardi 4e015cf4d6 More parameter updating. 2015-12-17 13:54:54 -05:00
Pietro Gagliardi 12a94404aa Set up a new infrastruture which allows both scrolling and non-scrolling areas AND mouse entered/exited events. 2015-12-17 13:50:07 -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 994d43c00e More TODOs. 2015-12-05 18:42:28 -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 d12974eef1 More TODOs. 2015-12-04 21:11:43 -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 0bcd620a62 Started a change which will allow a parent of the standard dialogs to be specified. 2015-11-27 23:23:54 -05:00
Pietro Gagliardi 4d3d80736b Fixed stupid STUPID **STUPID** C and C++ language bullshit. 2015-11-17 20:01:01 -05:00
Pietro Gagliardi a9316a04b0 Added C++ extern guards. 2015-11-16 10:55:44 -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 66cd3542bc Reworked the table model system a bit. 2015-10-18 18:05:38 -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 60accb0676 Set up the API for tables. 2015-10-18 11:21:56 -04:00
Pietro Gagliardi 8119a69572 Implemented dashing on Windows. 2015-10-16 10:46:26 -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 a504bcee40 More TODOs. 2015-10-13 22:17:25 -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 46e3fee40d Added a center point to scaling transforms. Fixed rotations on GTK+. 2015-10-12 01:43:12 -04:00
Pietro Gagliardi 15c00330d6 Added a parameter for negative arcs. 2015-10-11 21:15:08 -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 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 87e51487f6 More drawing tests. 2015-10-10 13:01:48 -04:00
Pietro Gagliardi 0ebb5b914b More TODOs. 2015-10-09 23:19:21 -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 fc502b178b More drawing tests. There is defintely something wrong with arcs. 2015-10-09 17:32:26 -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 581cbaecc9 Added uiComboboxSetSelected(), which we need for the uiArea drawing tests. Will implement next. 2015-10-09 13:47:02 -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 cb58ced9d9 Started merging uiArea back into main. ui.h merged. 2015-10-08 18:03:24 -04:00
Pietro Gagliardi 26e90f0b51 Started uiCombobox querying and events. Needed for the uiArea tests. 2015-10-08 14:23:04 -04:00
Pietro Gagliardi 54332b90fb Finally merged out the redo folder. 2015-09-02 13:48:06 -04:00
Pietro Gagliardi 2f785c9a09 Converted ui.h to a pgidl file. 2015-04-15 18:41:04 -04:00
Pietro Gagliardi 4d6571e807 Changed uiStackAdd() to uiStackAppend() and uiStackRemove() to uiStackDelete(); this will be the naming system other containers will follow. 2015-04-14 19:37:41 -04:00
Pietro Gagliardi 4313f745e1 More TODOs. 2015-04-14 13:04:51 -04:00
Pietro Gagliardi 204f450ff8 More parent planning and related API changes. I now have a better handle over what I want after last night: p.SetChild() is only called by w.SetChild() and the various uiTab and uiGroup methods; everything else should call Control.SetParent(). Some renaming is needed. 2015-04-14 09:41:52 -04:00
Pietro Gagliardi 79f0650fee Added uiStackRemove(), the first removal function in package ui! That took long enough... Now I can piece together all the control and parent logic... 2015-04-13 13:43:29 -04:00
Pietro Gagliardi 524a8c88bb Fixed build issues. Now to fix runtime issues... 2015-04-12 22:57:05 -04:00
Pietro Gagliardi f7b3e06147 Some more uiParent migration. 2015-04-12 20:08:32 -04:00
Pietro Gagliardi 5c6d2533ac Set up the foundation for the new Windows uiParent. 2015-04-12 19:19:06 -04:00
Pietro Gagliardi 2209039a6b Set up a unified system for containers, now called parents. 2015-04-12 18:34:54 -04:00
Pietro Gagliardi 4a1d80dcae Laid the foundation for tabs. 2015-04-12 00:30:44 -04:00
Pietro Gagliardi 80c17ebf71 Set up the foundation for uiLabel. 2015-04-11 21:53:49 -04:00
Pietro Gagliardi 37975ae082 Laid the foundation for control showing, hiding, enabling, and disabling. 2015-04-11 14:12:12 -04:00
Pietro Gagliardi 6277c34337 Decided to kill uiInitError and return the message as a const char * instead. Will need to implement on Windows. 2015-04-10 16:54:06 -04:00
Pietro Gagliardi 6f5b5dc4e4 Decided that uiCheckboxSetChecked() should NOT trigger an event. This required changing the GTK+ backend to make it so; the Windows and Mac OS X backends are fine (setting their checkbox state programmatically will not send a signal; thanks to ThunderSnow in irc.freenode.net/#macdev for confirming this for Mac OS X). 2015-04-09 23:48:04 -04:00
Pietro Gagliardi 4e03a117da Changed the allocation logging from a compile-time setting to the first initialization option. 2015-04-09 22:38:11 -04:00
Pietro Gagliardi 759feeb7a1 Added uiWindowMargined() and implemented it on all platforms. 2015-04-09 21:11:56 -04:00
Pietro Gagliardi 5c2ead2fea Added uiStackPadded(). 2015-04-09 20:04:18 -04:00
Pietro Gagliardi d84df8f38f Finished Windows conversion. Works perfectly! 2015-04-09 17:57:08 -04:00
Pietro Gagliardi 6d600f08cd Big change time: decided to stop playing around with hiding and made both uiControl and uiSizing public. Also restructured uiSizing to make system-dependent data in another structure. 2015-04-09 16:37:04 -04:00
Pietro Gagliardi 1575a0dc7c Implemented padding in uiStack. 2015-04-09 15:59:40 -04:00
Pietro Gagliardi 4c13ac57d5 Added uiWindowSetMargined(). 2015-04-09 13:42:42 -04:00
Pietro Gagliardi f5745325b2 Implemented uiCheckbox(Set)Checked() on Mac OS X. 2015-04-09 13:01:23 -04:00
Pietro Gagliardi 3d3d84c146 Added uiCheckboxChecked() and uiCheckboxSetChecked(). 2015-04-09 12:52:34 -04:00
Pietro Gagliardi 69b794c0b0 Implemented uiCheckbox on Windows. Fixed build issues in the test program. 2015-04-09 12:32:59 -04:00
Pietro Gagliardi c2d98a8b0e Added uiCheckboxOnToggled(). 2015-04-09 12:26:59 -04:00
Pietro Gagliardi 8d30e1df39 Added a checkbox to the test program. It won't do anything just yet... 2015-04-09 12:14:18 -04:00
Pietro Gagliardi ba66d7308a Re-enabled the text manipulation code in the test program. 2015-04-09 02:43:49 -04:00
Pietro Gagliardi 9f645e3ad3 Decided to call it uiEntry for now. 2015-04-08 23:22:59 -04:00
Pietro Gagliardi ae31cbc089 Decided not to take the suggestions of some TODOs in ui.h. 2015-04-08 19:53:15 -04:00
Pietro Gagliardi df4c5f270c Started work on ensuring things get cleaned up. Added a destroy() method to uiControl and implemented most of the work for Windows. 2015-04-08 00:43:35 -04:00
Pietro Gagliardi 6370c7d063 Added uiStack. Not yet tested; need to do a few things first. 2015-04-07 18:53:09 -04:00
Pietro Gagliardi 978e9b5e94 Added uiControlHandle() and fixed other uiButton issues. 2015-04-07 04:12:03 -04:00
Pietro Gagliardi 5b36956ecb Wrote up the initial uiButton implementation. It (mostly; just needs text and for that I need to add a uiControlHandle()) works! 2015-04-07 04:02:21 -04:00
Pietro Gagliardi a09430113f Fixed build issues. Now I just need to hook resizing into uiWindow and implement a control and we'll be set... 2015-04-07 03:12:34 -04:00
Pietro Gagliardi fc19f776c4 Started doing the C rewrite. Defined the basic initialization and main loop and window API and implemented them on GTK+. 2015-04-06 12:20:51 -04:00