Commit Graph

484 Commits

Author SHA1 Message Date
Pietro Gagliardi 965dec0157 Settled the PostThreadMessage() TODOs in the Windows testing code. 2019-04-30 02:31:08 -04:00
Pietro Gagliardi 848c3813ee Cleaned up the error handling in the Windows testing code by also creating HRESULT functions for whatever it calls. This resolves a bunch of the TODOs in that file. 2019-04-30 01:18:48 -04:00
Pietro Gagliardi db6b6fd97b Provided a mechanism for the testing library to abort on an internal error; redefined memory allocation to do so. This will also be used for resolving many of the TODOs on the Windows testing code. 2019-04-29 23:46:08 -04:00
Pietro Gagliardi 05af10aade Added ARM64 to the CPU-specific Windows testing code. 2019-04-29 22:34:28 -04:00
Pietro Gagliardi 2282ee2cf8 Removed TODOs about overflow; we really can't handle overflow properly anyway, so eh. 2019-04-29 00:18:26 -04:00
Pietro Gagliardi f948c30a3b Simplified testingTimerNsec() on Windows. _div128() would make this super simple, but that's only available on VS2019, and it seems no one has implemented this in software elsewhere (the most I can find are unsigned ones...). 2019-04-28 23:20:01 -04:00
Pietro Gagliardi 3257710fb7 Fixed bad timers on GTK+ tests. Turns out that clock() doesn't count when the process isn't actively running code (for instance, if it's waiting for I/O) :| 2019-04-28 21:49:54 -04:00
Pietro Gagliardi 74468bb38f And implemented the multithreading stuff on Unix and Darwin. We can finally continue re-adding stuff to libui! 2019-04-28 21:22:11 -04:00
Pietro Gagliardi df8eadb980 And added the multithreaded uiQueueMain() tests. 2019-04-28 20:45:53 -04:00
Pietro Gagliardi 6c41fb712e More notes. 2019-04-28 19:11:52 -04:00
Pietro Gagliardi 74ca863c1b More TODOs. 2019-04-28 19:07:41 -04:00
Pietro Gagliardi 5fb4e4403e And implemented testingRunWithTimeout() on Windows. All tests currently pass on all platforms! Woo! 2019-04-28 19:04:27 -04:00
Pietro Gagliardi 8ffb2b1b1e Fixed build warnings and errors. Now we just need to implement testingRunWithTimeout() on Windows. 2019-04-28 16:35:25 -04:00
Pietro Gagliardi 49bde22f81 More TODOs. 2019-04-28 14:54:33 -04:00
Pietro Gagliardi bdf80516c5 Reimplemented uiMain() and friends on GTK+. 2019-04-28 14:52:39 -04:00
Pietro Gagliardi b20bf2d1c9 Wrote TestQueueMain_Sequence. 2019-04-28 14:41:30 -04:00
Pietro Gagliardi e03021a350 Piped the actual file/line through to testingRunWithTimeout(). 2019-04-28 13:26:15 -04:00
Pietro Gagliardi 64478bd5b0 Finished cleaning up the TimerNsec naming wonk. 2019-04-28 13:19:04 -04:00
Pietro Gagliardi 1bc2297597 Added a facility to do timeouts in test functions. Also started cleaning up the weird TimerNsec abstractions. 2019-04-28 13:12:40 -04:00
Pietro Gagliardi 9c70782a0f Added uiMain() and friends on macOS and refined the tests. So now we'll need to add a timeout mechanism because that sendEvent: stuff really is still neeeded and I'd like to prevent shenanigans later. 2019-04-28 11:48:21 -04:00
Pietro Gagliardi aa49da98ba And implemented testingTimer on Windows. 2019-04-23 22:49:28 -04:00
Pietro Gagliardi 7e631879e7 Wrote the Unix clock function. It's primitive, but it works. 2019-04-23 12:26:52 -04:00
Pietro Gagliardi 4bd1ba2fa5 Oops; flipped a boolean. 2019-04-22 23:03:12 -04:00
Pietro Gagliardi bd1ca240e3 Added timers to the testing framework, test timing (so no more of those pesky TODOs), and the OS X implementation of test timing. 2019-04-22 23:01:55 -04:00
Pietro Gagliardi 23591eeefa Executive decision: drop uiUnint(). This was really more for double-checking *my* work, mostly with regards to memory management, and we could probably do that in the test suite instead, or even with AddressSanitizer. 2019-04-21 20:59:36 -04:00
Pietro Gagliardi 80ca6e2fc1 More notes. 2019-04-21 18:00:38 -04:00
Pietro Gagliardi 63952a3e20 ANd integrated the test manifest back into the tester. 2019-04-21 17:59:29 -04:00
Pietro Gagliardi b8b3b3df39 Fixed the rest of the build errors and warnings. Woo! Now for the manifests. 2019-04-21 17:28:47 -04:00
Pietro Gagliardi f7867f3427 ALMOST fixed the build on Windows with MSVC. (For the change to test/testing.h: Even in VS2019 inline isn't available in C, ugh. That function doesn't need to be inline anyway, so eh.) 2019-04-21 15:08:09 -04:00
Pietro Gagliardi 484989e925 Implemented uiInit() on macOS. The tests work so far! 2019-04-20 21:38:26 -04:00
Pietro Gagliardi 5e45afd0a2 More TODOs. 2019-04-19 12:13:08 -04:00
Pietro Gagliardi 6f3d45b107 Made it so that normal and after tests don't run if before tests failed. 2019-04-19 12:12:13 -04:00
Pietro Gagliardi da36b304f8 Wrote the uiInit() test. 2019-04-19 12:10:45 -04:00
Pietro Gagliardi e5e60284fb More desirable sorting of tests: by line number per file, specifically. Also per-file, but that can remain unguaranteed if I ever spin this out into its own library. 2019-04-17 22:58:44 -04:00
Pietro Gagliardi 16c6425200 Reorganized test sets into growing arrays. We can sort them next. 2019-04-17 22:12:32 -04:00
Pietro Gagliardi dcf34e6dab Set up the necessary work for having the list of tests sort by filename/line number instead of init order. 2019-04-17 21:49:47 -04:00
Pietro Gagliardi 59b449b920 Added rudimentary test ordering, for the Init and Uninit tests. 2019-04-10 20:17:40 -04:00
Pietro Gagliardi 1b046e763b Fixed the test suite. 2019-04-10 20:11:44 -04:00
Pietro Gagliardi 4f381d04a1 Added some test cases and the build script. 2019-04-10 14:42:17 -04:00
Pietro Gagliardi 759d6d1e46 Allowed deferred functions to access the testingT. If they call FailNow, we act as if nothing happens and the defers keep running. 2019-04-10 14:27:21 -04:00
Pietro Gagliardi 0149639edc Cleaned things up a bit for libui's test suite. 2019-04-10 14:19:17 -04:00
Pietro Gagliardi b26e0677af Okay, I'm not satisfied with the other testing frameworks, so strip testing.h down to just what libui needs. 2019-04-10 13:23:25 -04:00
Pietro Gagliardi ced0820e39 Undo that; this is probably overkill for libui's unit tests... 2019-04-10 12:55:37 -04:00
Pietro Gagliardi 5a0477d46d Moved the testing files back here since we're actually going to start writing proper unit tests now. 2019-04-10 12:18:08 -04:00
Pietro Gagliardi 992d8694a9 Let's start the remodel. Move almost everything out of the way. 2019-04-08 20:36:21 -04:00
Pietro Gagliardi f7907f38c6 Decided to just deal with the name tester instead of test for now. It's not that important to block merging. 2019-03-31 11:09:16 -04:00
Pietro Gagliardi ff3d39213e Decided to just build everything by default and not have separate all or examples targets since we don't really have much control over what's a top-level target anyway (and ninja on its own == ninja all). Also set layout to flat by default, since it keeps everything together, which will lead to less surprising behavior on Windows and is more useful for our release packages. 2019-03-31 11:04:20 -04:00
Pietro Gagliardi 81e25f76f2 Moved the binary PIC as a TODO and marked merge blockers as MESONTODO. Also removed a stale cmake-era TODO, because the manifest distribution idea it had will eventually be part of the uires tool. 2019-03-27 21:34:09 -04:00
Pietro Gagliardi 99f2b8f5ad And settled test/CMakeLists.txt; nothing there that needed to be moved. 2019-03-27 01:07:03 -04:00
Pietro Gagliardi 1b9250e41e Removed include_directories hackery, as suggested by various people in freenode #mesonbuild. 2019-03-25 20:07:22 -04:00
Pietro Gagliardi 467a9102ec Fixed static builds on all platforms. So close to getting all this set up! 2019-03-24 14:11:02 -04:00
Pietro Gagliardi 2be9a4f3a3 Added the initial Windows meson.build. Windows Meson is having problems running, so we'll have to test this later. 2019-03-23 22:28:17 -04:00
Pietro Gagliardi cdd997b6f6 Added tester build file and made sure everything works. It works! 2019-03-23 18:12:33 -04:00
Pietro Gagliardi abeb0144d4 Changed the image generator for the tester to print the premultiplied RGBA byte stream instead of uint32_ts; regenerated images.c. 2018-08-29 19:58:35 -04:00
Pietro Gagliardi 095e63d522 Fixed memory leaks in the tester and a symbol name flub in OS X's image.m. 2018-07-08 21:20:42 -04:00
Pietro Gagliardi fb67c429d8 Made background color columns only settable at creation time; added a uiTableParams struct for the purpose. This should end edits to uitable.h for now (until we're ready to document it). Now to just clean up all the implementations. 2018-06-24 10:28:41 -04:00
Pietro Gagliardi 9a79eed2ac Final cleanup, first part: renamed uiTableData to uiTableValue. 2018-06-23 20:19:30 -04:00
Pietro Gagliardi 0a6a781be7 And implemented row background colors and button clicks. OS X implementation done for now! 2018-06-04 22:14:05 -04:00
Pietro Gagliardi 8c611cf95d And added the rest of the column types to the tester. 2018-06-04 20:13:35 -04:00
Pietro Gagliardi 3bb050777b Started converting the test program. First column works fine, second segfaults. 2018-06-03 23:23:48 -04:00
Pietro Gagliardi 374eed7432 Removed the facilities for printing an int as text; this was causing the tester to crash in a weird way on OS X (through NSApplication _crashOnException: without telling me what that exception was) and I didn't intend on this part type to be used in this way anyway... 2018-05-29 20:27:31 -04:00
Ben Campbell fc2ea17bb8 Add minimal uiTable implementation for windows
This uses the win32 common controls listview to implement uiTable.
There are limitations:
 - It supports only a single TextPart per column.
 - ImagePart, CheckboxPart and ProgessBarPart are not implemented.
 - There is no support for cell coloring.
 - Cell editing is not implemented.
Some of these will be very hard to support using the standard
common control listview, and probably require an entire custom
listview.
2018-05-22 20:41:49 +12:00
Pietro Gagliardi ae2eea7975 Merge branch 'master' into table
Long-overdue sync.
2018-04-18 10:00:13 -04:00
Pietro Gagliardi 3e76d799b1 Fixed leftovers from utflib-and-attrstr that broke builds of things I didn't fully update yet, since people want to build them anyway (for testing in a CI environment, I suppose; a real unit test suite would be better for this, though, which is one of the reasons for the _future/unittest stuff...)
Updates #302.
2018-03-20 01:58:34 -04:00
Pietro Gagliardi f7121774e1 Added some TODOs and started the work necessary for the Windows text system migration... which is gonna hurt. 2017-01-17 23:25:26 -05:00
Pietro Gagliardi 18b103c988 Fully reintegrated the table code. 2016-11-27 17:44:52 -05:00
Pietro Gagliardi 52d88d3f36 Re-added the table code. Need to patch together everything else, but. 2016-11-27 17:36:11 -05:00
Pietro Gagliardi e3dec183aa Started the process of splitting the table code into a separate branch. 2016-11-27 17:34:40 -05:00
Pietro Gagliardi 1fbfc9dd67 More TODOs. 2016-10-25 01:00:18 -04:00
Pietro Gagliardi 22caa5e502 Implemented the window drag stuff on GTK+. It works! 2016-10-25 00:34:12 -04:00
Pietro Gagliardi 67ff2fa855 Laid out the interface for user window drags. 2016-10-24 23:35:18 -04:00
Pietro Gagliardi 1871f7139d Some more test areas in the borderless resize test. Now to actually spec out the API (hint: it's two functions in uiArea). 2016-10-24 23:27:44 -04:00
Pietro Gagliardi 8556fc7cd1 Started work on custom user resizes. 2016-10-24 23:08:55 -04:00
Pietro Gagliardi fc243aed00 Cleaned up debugging code and added the main loop bugfix to the README. 2016-10-24 17:47:23 -04:00
Pietro Gagliardi e17e69f2ad Let's experiment with making uiWindowSetSize() not require an event loop. 2016-10-23 22:02:07 -04:00
Pietro Gagliardi 570b794650 Started the work in removing the move and center functions from uiWindow; those simply cannot be done thanks to Wayland. 2016-10-22 15:40:15 -04:00
Pietro Gagliardi f46edd097b uiDrawTextWeightUtraBold. 2016-10-21 16:35:46 -04:00
Pietro Gagliardi 53bd751461 Fixed uiImage byte order on OS X. 2016-06-27 16:34:57 -04:00
Pietro Gagliardi 6804f263d4 And implemented (mostly) the progressbar table parts. I think that'll do for uiTable features now. 2016-06-26 18:19:34 -04:00
Pietro Gagliardi d7caa150b8 Added checkbox table cells. Now just to add progressbar cells and we'll be good. 2016-06-26 15:36:46 -04:00
Pietro Gagliardi 44a723b314 Added uiTable buttons. Not fully working on OS X. 2016-06-26 13:06:33 -04:00
Pietro Gagliardi e0230d73a6 Started editable uiTable elements. 2016-06-25 23:04:49 -04:00
Pietro Gagliardi 49ab4a886f Added image table cell parts; implemented on OS X 2016-06-25 19:18:25 -04:00
Pietro Gagliardi 93bbf39aa4 Added some test images. Now to add image columns to uiTable and see what happens. 2016-06-25 17:26:50 -04:00
Pietro Gagliardi 4914d0c64c Added a way to set the text color of a part. 2016-06-23 22:16:25 -04:00
Pietro Gagliardi 67e8db9efd Added row background colors. 2016-06-23 11:29:43 -04:00
Pietro Gagliardi f02fbd2ecf Some more API cleanup. Don't separate table cell parts from columns. 2016-06-23 09:56:24 -04:00
Pietro Gagliardi 1c70edaef1 Fixed initial OS X uiTable. It works! 2016-06-22 00:58:10 -04:00
Pietro Gagliardi 2f08ec683a Started the OS X uiTable implementation. 2016-06-21 23:58:17 -04:00
Pietro Gagliardi b21ec6cf6b Laid the foundation for uiTable: common code and a test. Now to start actually implementing it. 2016-06-21 22:22:13 -04:00
Pietro Gagliardi d93bb2c48f Formatting fixes. 2016-06-21 12:45:04 -04:00
Pietro Gagliardi 1f20772b46 Merge pull request #123 from kainjow/void-ptr-warning
Fix void* warning
2016-06-21 12:43:43 -04:00
Pietro Gagliardi 9656a81c77 Added uiNewVerticalSeparator(). 2016-06-17 11:02:17 -04:00
Pietro Gagliardi ae14542c9a Improved uiMainSteps(). 2016-06-17 09:22:31 -04:00
Pietro Gagliardi cc4c5f7bd5 Tried to see if we can fix up uiMainSteps() to not need parameters after all. Now to actually apply it. 2016-06-17 09:16:30 -04:00
Pietro Gagliardi 99545e8775 Fixed up the progressbar changes. 2016-06-16 17:43:04 -04:00
Pietro Gagliardi 798061f7f6 Merge pull request #144 from ProtonMail/progress-bar
Improves progress bar
2016-06-16 16:44:42 -04:00
Pietro Gagliardi d4492c06a9 Changed the uiMainSteps() API as the GTK+ port will need it to be done this way... 2016-06-16 13:49:50 -04:00
Pietro Gagliardi da4b396aaf Added uiMainSteps(), which sets things up to use uiMainStep() for the main loop. Implemented on OS X. 2016-06-16 13:45:24 -04:00
Pietro Gagliardi b4d0e08a22 Started the work to fix uiMainStep(). 2016-06-16 13:41:13 -04:00
Pietro Gagliardi 377f46814a Started adding borderless uiWindow support; implemented on Windows. 2016-06-16 11:20:28 -04:00
Pietro Gagliardi fd9af04123 Implemented fullscreen on OS X. 2016-06-16 09:29:28 -04:00
Pietro Gagliardi 69cafde7f3 Started the fullscreen window stuff. 2016-06-16 08:07:50 -04:00
Pietro Gagliardi 6c56f1e1ce Implemented the window size stuff on Windows. 2016-06-15 22:52:35 -04:00
Pietro Gagliardi 5fbe85c21a Started adding the uiWindow size code. 2016-06-15 22:28:44 -04:00
emersion 983a53d3c3 Replaces uiProgressBar(Set)Indeterminate() by value=-1 2016-06-15 23:17:23 +02:00
Pietro Gagliardi f98318fb3a Started implementing the new uiWindows stuff on GTK+. 2016-06-15 16:45:49 -04:00
emersion 560cca5bc9 Adds uiProgressBar(Set)Indeterminate for unix 2016-06-15 21:51:08 +02:00
Pietro Gagliardi 53bec81925 More uiWindow positioning refinement and implementation on OS X. 2016-06-15 14:57:52 -04:00
Pietro Gagliardi 4465d37d2e Started uiWindow positioning stuff. 2016-06-15 13:21:07 -04:00
Pietro Gagliardi efe207ca37 Added a test of uiFormDelete(). 2016-06-15 12:06:19 -04:00
Pietro Gagliardi cb81518e0f Implemented proper hiding and showing behavior on OS X on uiForm and uiGrid. 2016-06-14 11:18:38 -04:00
Pietro Gagliardi d54f7dd682 Added a facility to the OS X port to be notified when a child's visibility has changed; this is necessary for implementing hiding and showing properly. 2016-06-14 10:37:19 -04:00
Pietro Gagliardi 75a8ee9bf9 Removed intmax_t from everything else EXCEPT the Windows code. Now it's time for THAT... 2016-06-13 21:37:50 -04:00
Pietro Gagliardi e46554f481 More work on the uiGrid test. 2016-06-13 13:57:20 -04:00
Pietro Gagliardi ba8e5b80ea More uiGrid tests. OS X falls apart as usual :D 2016-06-13 08:12:01 -04:00
Pietro Gagliardi bf1595795c Fixed a tester bug. 2016-06-11 23:53:49 -04:00
Kevin Wojniak a18e3c71b9 Fix void* warning
"Format specifies type 'void *' but the argument has type 'uiWindow *' (aka 'struct uiWindow *')"
2016-06-10 21:23:13 -07:00
Pietro Gagliardi 3a3b96a38e Implemented more of GTK+'s grid tests. 2016-06-09 21:30:33 -04:00
Pietro Gagliardi 4b149ddfef Implemented uiGrid on GTK+. 2016-06-09 18:57:58 -04:00
Pietro Gagliardi 075eae15e5 Started uiGrid. 2016-06-09 17:15:59 -04:00
Pietro Gagliardi 1ad18ddc8e We are FINALLY adding uiForm. About time :V 2016-06-07 09:56:53 -04:00
Pietro Gagliardi 5accda32e5 Added new uiRadioButtons functions and implemented them on GTK+. More TODOs. 2016-06-06 18:56:58 -04:00
Pietro Gagliardi 6cb3cd4ed7 More robust accelerator tests. 2016-06-06 09:27:07 -04:00
Pietro Gagliardi d0be2979e4 Added Password and Search Entries. Now for the implementation. 2016-06-05 20:26:44 -04:00
Pietro Gagliardi 05b542182a More cmake stuff. MSVC shared builds work as we want them to so far (mostly). 2016-06-03 17:30:00 -04:00
Pietro Gagliardi 1903115bbd Pushed all the build files elsewhere. I'm rewriting the CMakeLists files from scratch. 2016-06-03 00:29:31 -04:00
Pietro Gagliardi 08c06f24c0 Added the test program to the CMake setup. 2016-06-01 14:07:43 -04:00
Pietro Gagliardi be8a957689 Fixed static linking on Windows. 2016-05-29 18:35:06 -04:00
Pietro Gagliardi 0c85469e52 More TODO and intrinsic size work. 2016-05-28 22:49:27 -04:00
Pietro Gagliardi b130ddc04b Added a test of having multiple uiRadioButtons in the same parent container and started a test of intrinsic sizes of all non-container controls. 2016-05-28 21:29:00 -04:00
Pietro Gagliardi 4c98fda7ff Added Enable/Disable buttons to page 6. 2016-05-28 11:36:16 -04:00
Pietro Gagliardi 3896861f39 Added another facet to page 10's tests: whether the letter after the combined one gets colored. 2016-05-26 17:44:35 -04:00
Pietro Gagliardi a8aa842172 More TODOs. 2016-05-25 01:15:43 -04:00
Pietro Gagliardi 363916855c Split uiCombobox on OS X. 2016-05-23 18:50:02 -04:00
Pietro Gagliardi 996ba99b0f Began uiEditableCombobox splitting. 2016-05-23 17:41:37 -04:00
Pietro Gagliardi a571bd4779 Added a composed character test to page 10. 2016-05-23 08:11:22 -04:00
Pietro Gagliardi 60627e13a1 Fleshed out page 12. 2016-05-22 23:05:37 -04:00
Pietro Gagliardi b66be0bf2d Stale TODO removal. Expanded page 9 to also show the positions of the second line. 2016-05-22 20:49:16 -04:00
Pietro Gagliardi a641a7eda8 Some TODO cleanup. Started changing long-term TODOs to say LONGTERM instead. 2016-05-22 18:37:53 -04:00
Pietro Gagliardi b73a96ad27 More TODOs. 2016-05-22 17:49:41 -04:00
Pietro Gagliardi 6d421e9349 Implemented a test of non-BMP characters that need surrogate pairs on UTF-16-based systems on test page 10. 2016-05-22 17:01:18 -04:00
Pietro Gagliardi bbae4478f6 More TODOs. 2016-05-22 14:41:42 -04:00
Pietro Gagliardi 313ce47833 Started non-wrapping multiline entries. Implemented on Windows. 2016-05-22 13:56:36 -04:00
Pietro Gagliardi 5a4b6aa6f0 Switched from using M_PI to a named constant uiPi. 2016-05-22 12:00:44 -04:00
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