Commit Graph

389 Commits

Author SHA1 Message Date
Pietro Gagliardi bf411e787e Implemented uiColorButton on OS X. 2016-05-15 20:51:33 -04:00
Pietro Gagliardi 68ad5f53fa Added uiColorButton. Let's implement this on OS X first. 2016-05-15 20:06:57 -04:00
Pietro Gagliardi 52fff1520d Disabled page 11 for now. 2016-05-15 16:34:14 -04:00
Pietro Gagliardi fd9f6cea6a Allowed uiGroups and uiTabs to have no and NULL controls with defined behavior on OS X. Actually added the test code this time. 2016-05-14 22:09:02 -04:00
Pietro Gagliardi 0e785d886b Started tests for truly empty uiGroups and uiTabs; started banning NULL in uiBox. 2016-05-14 21:53:24 -04:00
Pietro Gagliardi 897674d20f Made the queuemaintest a multithreading example, because why not. 2016-05-12 12:50:05 -04:00
Pietro Gagliardi cfa1b6bf0a Added uiFontButtonFont() and uiFontButtonOnChanged(); implemented on OS X. 2016-04-20 13:40:54 -04:00
Pietro Gagliardi 275b80a6d9 More TODOs. 2016-04-20 12:37:04 -04:00
Pietro Gagliardi 9b1d75bec2 More TODOs and stale TODO elimination. 2016-04-20 02:52:46 -04:00
Pietro Gagliardi e786d664cb Implemented text layout SetColor on OS X. 2016-04-19 16:06:50 -04:00
Pietro Gagliardi 7a568f6bf4 Added the first text layout attribute: foreground color. Now to implement. 2016-04-19 15:38:24 -04:00
Pietro Gagliardi 861b5f22df Finished changing the Windows font dialog and uiFontButton to manipulate IDWriteFonts directly. 2016-04-18 17:14:33 -04:00
Pietro Gagliardi 9b27e12cfc Made the small caps stuff ineffective on page 9. We'll be removing it from FontDescriptor shortly. 2016-04-15 14:09:14 -04:00
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 307ec746ef Started implementing uiFontButton on OS X. 2016-04-14 13:27:15 -04:00
Pietro Gagliardi 8b6dd1d45f More for the previous commit. 2016-04-14 12:57:09 -04:00
Pietro Gagliardi 423719b21f Started adding uiFontButton. Duplicated Page 9 to Page 10 to test it. 2016-04-14 12:54:37 -04:00
Pietro Gagliardi 9c6c16be53 Simplified text drawing on OS X by using CTFramesetter exclusively. 2016-01-16 13:34:22 -05:00
Pietro Gagliardi 4fffe9008c Started implementing the new multiline uiDrawTextLayout logic in the OS X port; fixed some bugs in the test program. 2016-01-15 20:18:53 -05:00
Pietro Gagliardi c0db113367 Started adding support for multiline uiDrawTextLayouts and extracting the extents from them. 2016-01-14 20:02:01 -05:00
Pietro Gagliardi 468acd50be More TODOs. 2016-01-13 19:35:31 -05:00
Pietro Gagliardi 6202863faa Added some guides for making sure text measurements are correct. 2016-01-13 04:02:30 -05:00
Pietro Gagliardi d6079f8c50 More TODOs. 2016-01-13 00:56:03 -05:00
Pietro Gagliardi d6063394ee Implemented the metrics stuff on OS X and improved the test a bit. 2016-01-12 22:07:24 -05:00
Pietro Gagliardi a082469cf8 Started working on text metrics support. 2016-01-12 21:52:45 -05:00
Pietro Gagliardi 73867119ef Updated the test and fixed compiler errors in darwin/drawtext.m. It seems to work now! Width handling is still not working right, but width handling needs major rewrites because width on Core Text has major sensibility issues... 2016-01-12 01:58:45 -05:00
Pietro Gagliardi dec34670bb Fixed keyboard events not working on OS X. 2016-01-09 15:05:19 -05:00
Pietro Gagliardi 2a80888cb8 Fixed a warning in the test program. 2016-01-09 14:49:44 -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 46aadf62c1 Added a manifest to the test program. 2015-12-31 20:09:20 -05:00
Pietro Gagliardi 66ad8066ea Improved the exited debugging. 2015-12-27 17:13:57 -05:00
Pietro Gagliardi 15bb899770 Vertically condensed Page 9 a bit. 2015-12-24 23:04:07 -05:00
Pietro Gagliardi 6fd945b602 Split the text test onto a separate page, Page 9. 2015-12-24 22:59:00 -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 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 92680a549d Oh I know why the green didn't show up; fixed. 2015-12-19 17:32:13 -05:00
Pietro Gagliardi 16f22576ed Reduced the number of tabs on the first page of the outer tab in the test program. This makes the uiArea tabs more readily accessible on all platforms and keeps the initial size of the main window down on OS X. Also fixed the rpath nonsense on the example makefile too. 2015-12-19 16:56:45 -05:00
Pietro Gagliardi 85dac9fa80 Oh right they don't show because of ID2D1HwndRenderTarget::Resize(). I still wonder if areas outside the scroll could be scrolled visible... 2015-12-19 14:56:44 -05:00
Pietro Gagliardi b5d257409c Added a green "out of bounds" area to test/page7c.c. For some reason it doesn't show up here... will need to look further. 2015-12-19 14:54:24 -05:00
Pietro Gagliardi 0f80d15fc4 Added a test of scrolled drawing. More TODOs. 2015-12-19 01:16:32 -05:00
Pietro Gagliardi 6d06e15390 More Windows uiArea migration and compiler error fixes. Now to figure out what happened with GetSize again... 2015-12-18 14:21:35 -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 6b2d9920c5 Split out the content of test/page7.c into test/page7a.c so more can be put on page 7. 2015-12-17 21:11:00 -05:00
Pietro Gagliardi 0cb080d085 Ported over the tests. Now to fix runtime errors! 2015-12-17 19:30:28 -05:00
Pietro Gagliardi 3e0b6fdff4 Re-established the test build. 2015-12-11 20:04:31 -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 0307e74e90 Added uiMultilineEntry on Windows. Fixed a misuse of std::condition_variable in the uiQueueMain test program. 2015-12-06 14:38:13 -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 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 e6e264408f Implemented dialog parenting on Windows. Eliminated the dialog helper. uiArea still works (and still responds to key events), but IsDialogMessage() isn't being called for the active window anymore... 2015-11-28 10:53:48 -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 490fa315d1 Added controls to the menued enabled window in the test program to test dialog ownership. 2015-11-27 13:01:12 -05:00
Pietro Gagliardi 9153766dc9 Added a checkbox for testing uiArea keystroke ignoring. This will be for migrating the Windows keyboard code to using message filters, so we can clean up dialog handling. 2015-11-27 11:49:06 -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 e340f75b78 Broke the very long chain of tabs apart in the test program. 2015-11-02 10:49:04 -05:00
Pietro Gagliardi 5d26b9b059 Finished the uiTable test and fixed errors. 2015-10-19 10:52:36 -04:00
Pietro Gagliardi fa2252e9c6 Started a table test. 2015-10-18 23:00:24 -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 1cadb85bd0 Added line dashing and implemented it on GTK+. 2015-10-16 10:09:41 -04:00
Pietro Gagliardi efc0e74c82 Wrote a better arc test. 2015-10-13 15:09:06 -04:00
Pietro Gagliardi b5ac921988 Implemented clipping on Windows. Phew! 2015-10-13 13:20:25 -04:00
Pietro Gagliardi cc827919b8 Added uiDrawClip() and implemented it on GTK+. 2015-10-13 11:16:06 -04:00
Pietro Gagliardi 818d954654 More transformation tests and work. 2015-10-12 09:08:50 -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 5792ac76fc Work on more tests. Scaling will need a center point for this test to work correctly... 2015-10-12 01:18:08 -04:00
Pietro Gagliardi 41a33a1aa1 Fixed the failing test. 2015-10-12 00:27:34 -04:00
Pietro Gagliardi f4b0e7e35e Added negative arcs to the OS X backend. Now we have a crash in one of the tests; still debugging. 2015-10-11 23:48:40 -04:00
Pietro Gagliardi 0989454106 Implemented negative arcs on Windows. 2015-10-11 22:14:27 -04:00
Pietro Gagliardi d789d37ef6 Fixed up the examples. 2015-10-11 21:31:23 -04:00
Pietro Gagliardi 15c00330d6 Added a parameter for negative arcs. 2015-10-11 21:15:08 -04:00
Pietro Gagliardi 9cb2c922b8 More samples. The fill style sample is showing the limitations of what I've done so far, and solving that problem is proving to be a nightmare. 2015-10-11 15:47:30 -04:00
Pietro Gagliardi 3d8f8f0756 Implemented a basic translation. 2015-10-11 11:42:07 -04:00
Pietro Gagliardi 9e8c522010 More drawing tests. Maybe I should do transforms now... 2015-10-10 20:48:26 -04:00
Pietro Gagliardi 46149edccf More draw tests. 2015-10-10 18:53:07 -04:00
Pietro Gagliardi 87e51487f6 More drawing tests. 2015-10-10 13:01:48 -04:00
Pietro Gagliardi 0a59910d91 Removed some stale TODOs. 2015-10-10 11:07:37 -04:00
Pietro Gagliardi 0566c3fa7a Fixed up the radial gradient test to be a full circle now that it finally works. 2015-10-10 10:49:42 -04:00
Pietro Gagliardi 3fad1a16d7 Even more TODOs. 2015-10-10 08:50:47 -04:00
Pietro Gagliardi 4b81b421e8 Expanded the arcs test a bit more. 2015-10-10 08:50:16 -04:00
Pietro Gagliardi 7a4d4b7eba More arc tests. This time, it tests if the starting line segment is in the right place. 2015-10-10 08:41:42 -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 50f03eca14 More arc testing. 2015-10-09 22:28:10 -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 9adf4cef86 Added an arc test. 2015-10-09 19:18:16 -04:00
Pietro Gagliardi 844015f71a Fixed typos in the test program that in turn fixed the gradients; also fixed a few Objective-C-isms in the OS X backend. 2015-10-09 18:49:41 -04:00
Pietro Gagliardi f558319f18 More TODOs. 2015-10-09 18:02:28 -04:00
Pietro Gagliardi 6dfbd71c52 More drawtests.c stuff. I need to resolve this arc stuff once and for all and write AddEllipse before I can continue. 2015-10-09 17:49: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 db1026f003 Added a second test to the uiArea draw test suite. Now to add a uiAreaQueueRedrawAll() function. 2015-10-09 15:09:08 -04:00
Pietro Gagliardi 843ea0d46c Implemented uiComboboxSetSelected() on GTK+. 2015-10-09 13:54:34 -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 6424ea00ab Created a new framework for consolidating all drawing tests. 2015-10-09 13:38:41 -04:00
Pietro Gagliardi b0492cbde8 Fixed up more bits of uiArea on Windows. 2015-10-09 11:49:57 -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 e27781cce7 Integrated the test into the main packge. I'll need to handle a few corner cases here... 2015-10-08 19:20:06 -04:00
Pietro Gagliardi 06f17aa4de Implemented the new uiCombobox stuff on GTK+. 2015-10-08 14:55:18 -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 e1efbb1b8f Started cleaning out the toplevel (the old redo/). 2015-08-27 12:06:31 -04:00
Pietro Gagliardi 8213eac2d7 Moved everything up a directory level. 2015-08-27 12:05:11 -04:00
Pietro Gagliardi cf2dc096b7 More migration. 2015-05-15 21:21:36 -04:00
Pietro Gagliardi 9cd8ff7e93 Added a bare-bones uiGroup. 2015-05-11 22:35:16 -04:00
Pietro Gagliardi 9dfa95b3e1 Added a test of having multiple consecutive separators in, separators at the start of, and separators at the end of a menu. How OS X behaves is the deciding factor here. 2015-05-11 10:31:03 -04:00
Pietro Gagliardi 9500f25b62 Added a test to make sure uiEntryOnChanged() isn't triggered by uiEntrySetText(). 2015-05-09 21:01:32 -04:00
Pietro Gagliardi 03cf0845ef Quick adjustment to the test program to handle a case I didn't think of until now (our uiUninit() unintentionally quitting the program; who knows what releasing NSApp will do?). 2015-05-09 13:29:39 -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 2b83300e0b Implemented the quitting logic on OS X. Now I can get rid of darwin/main.m and move darwin/init.m in its place. 2015-05-09 10:18:19 -04:00
Pietro Gagliardi 4e9fa46aec Added a test for uiOnShouldQuit(). 2015-05-09 10:12:02 -04:00
Pietro Gagliardi 560850dbb9 Added a uiUninit() function. 2015-05-07 22:28:18 -04:00
Pietro Gagliardi 3872b9777a Added a page to the test program tab for testing uiBox padding and hidden control interaction, which is currently incorrect. 2015-05-07 17:13:16 -04:00
Pietro Gagliardi d6aeb3c0a7 Added a test for controls that aren't initially visible. More TODOs. 2015-05-07 16:33:33 -04:00
Pietro Gagliardi 6a1661fd91 Implemented read-only uiEntries on Windows. 2015-05-06 22:21:11 -04:00
Pietro Gagliardi 372cbf044d Added uiEntryReadOnly() and uiEntrySetReadOnly(). 2015-05-06 22:09:10 -04:00
Pietro Gagliardi fba7450da3 Added uiEntryOnChanged() and added it to the test program. This will be necessary for testing readonly entries. 2015-05-06 19:54:42 -04:00
Pietro Gagliardi ab3fea8cd7 Added a blank page to the test program to test tab navigation on Windows and also as an extra background drawing check. 2015-05-06 16:00:49 -04:00
Pietro Gagliardi d247e76866 Implemented uiTabInsertPageBefore() on Windows. 2015-05-06 14:09:20 -04:00
Pietro Gagliardi 84114f4913 Added uiTabInsertPageBefore(). Added it to the test program. Now to implement it. 2015-05-06 13:58:03 -04:00
Pietro Gagliardi e59aeb19ca Added a disabled uiTab test. It works fine on GTK+ (as expected) but the feature needs to be implemented on Windows and OS X. 2015-05-04 14:14:12 -04:00
Pietro Gagliardi 3ead59424d I am wrong there's nothing wrong with what we're doing now because only the immediate parent calls uiControlSysFunc(uiXxxSysFuncContainerDisable). 2015-05-04 13:55:57 -04:00
Pietro Gagliardi 37140cf6f0 Completed the nested box test. 2015-05-04 11:07:23 -04:00
Pietro Gagliardi 31dc99899d Set up a framework for testing nested enables and disables. 2015-05-04 10:34:16 -04:00
Pietro Gagliardi 9e6678b635 Implemented uiMenu window identification in the test program. It works on all platforms. 2015-05-03 21:22:00 -04:00
Pietro Gagliardi c3cfb3fe09 Added a no menus option to the test program. 2015-05-03 16:46:50 -04:00
Pietro Gagliardi 4eaa3ac574 Implemented die() in the test program. 2015-05-03 16:44:13 -04:00
Pietro Gagliardi a0e2c3cf94 Added more menu item enabled/disabled checks. This is important because on OS X we have to hook into the delegat eot disable the three special items (we can't just set autoenable to false; the Hide/Show items won't be properly disabled anymore if we do). 2015-05-02 11:24:58 -04:00
Pietro Gagliardi a76afebf54 Started work on adding margined status to uiTab. Modified the IDL and the test program. 2015-04-30 15:24:27 -04:00
Pietro Gagliardi c8695e4ca2 Decided to remove allocation logging. Leak checking can be done with dedicated tools. 2015-04-30 13:37:13 -04:00
Pietro Gagliardi 62f4461c51 Added some more tests to Page 2: label alignment and menued and menuless windows are on the menu here. 2015-04-30 12:00:21 -04:00
Pietro Gagliardi 6591d5e4cb Implemented the Move Page 1 Out part of the test. Move Page 1 Back will come with uiTabInsertPageBefore(). 2015-04-29 21:09:16 -04:00
Pietro Gagliardi 8f6b34feb0 Prepared test/page1.c for the Move Page 1 Out test. 2015-04-29 20:23:57 -04:00
Pietro Gagliardi d2c491dbd0 Readded the moving label test, which starts Page 2. 2015-04-29 20:15:29 -04:00
Pietro Gagliardi 0370f10031 Prepared the test program for re-adding Page 2. 2015-04-29 19:55:42 -04:00
Pietro Gagliardi 35548b912a Finished the Page 1 test by implementing the show/hide/enable/disable control tests. 2015-04-29 14:10:00 -04:00
Pietro Gagliardi 537c7e29cf Reimplemented the Spaced row of Page 1. 2015-04-29 14:03:17 -04:00
Pietro Gagliardi 932313cdc7 Reconnected Page 1's text test buttons. 2015-04-29 13:47:50 -04:00
Pietro Gagliardi 515b25c144 Started reintegrating the old Page 1 test into the new test. The UI is done. 2015-04-29 13:38:38 -04:00
Pietro Gagliardi 6c6bce3702 Moved everything back to the top level. 2015-04-29 11:02:38 -04:00