Commit Graph

764 Commits

Author SHA1 Message Date
Pietro Gagliardi de3598df80 Added tests for the uiWindow methods being called after init/on the right thread. To actually implement those, wrote OS-independent wrappers for the uiWindow functions. This will likely become a pattern throughout libui... 2020-05-25 22:35:25 -04:00
Pietro Gagliardi 0dd4bec2af Added uiDarwinControlHandle(), and added it to uiWindow, and added uiWindow handle tests (including underlying string tests) to the test suite. Oof. Also I just remembered we're missing tests of these new functions in noinitwrongthread.c. 2020-05-25 22:13:48 -04:00
Pietro Gagliardi 2f9aaeeb62 Started writing tests for uiWindow. 2020-05-24 18:08:48 -04:00
Pietro Gagliardi 0be1273dab Finished our initial implementation of uiWindow on macOS to our previous spec. Now to write tests. 2020-05-24 17:23:52 -04:00
Pietro Gagliardi ba6f2865df Started reintegrating uiWindow on macOS. I didn't think the implData variable naming through... Also made uiWindow a mere typedef to uiControl; I'll need to copy the handle logic from Windows to make this robust, or something to that effect... 2020-05-22 22:43:33 -04:00
Pietro Gagliardi 514037ba6c Modified common and the macOS port to exhibit the new init/main behavior. Now to adjust the tests. 2020-05-09 01:24:40 -04:00
Pietro Gagliardi 83129eeef5 Normalized uiprivInternalError() calls to always try to fail gracefully, and make sure errors don't call abort() so we can resume when debugging (and because this isn't really our decision to make...). (The debugger breaks will be removed from release builds when we get to that point.) Finally, refined some TODOs and removed some stale ones (in this case, that were related to the first few things). 2020-02-09 13:37:45 -05:00
Pietro Gagliardi 0550e4bc00 Turned testVtable into a function that returned the pointer to use, made the OSVtable equivalent likewise, and renamed darwin/control.m to darwin/controls.m. 2019-06-15 21:33:53 -04:00
Pietro Gagliardi b6a8d24c3e And fixed const issues and other build errors. 2019-06-15 20:48:20 -04:00
Pietro Gagliardi 63773f703c Fixed build errors. The test itself will fail at present, but we have some cleanups to do still... 2019-06-11 21:29:25 -04:00
Pietro Gagliardi 6903bebe7d Started writing the controls Darwin-specific code and all-platforms tests for real. 2019-06-10 23:09:48 -04:00
Pietro Gagliardi 822572d395 Stubbed out the OS-specific files on macOS so I can actually start writing the uiControl tests. 2019-06-08 19:45:09 -04:00
Pietro Gagliardi 76fabb37cf Renamed common/init.c to common/main.c. 2019-06-01 11:24:34 -04:00
Pietro Gagliardi 48cd6e1dd8 Cleaned #include directives so C standard library headers are sorted and so each source file only includes one header file. This makes things clenaer, and alos allows us to more properly strip unneeded headers later. 2019-06-01 09:27:17 -04:00
Pietro Gagliardi 9daef443b2 Moved uiQueueMain() to common/init.c to avoid having multiple initialized variables; the per-OS versions are now uiprivSysQueueMain(). Also more TODOs. 2019-05-30 01:39:43 -04:00
Pietro Gagliardi ab5b3076ed Removed uiInitError length checking and just truncated too-long messages with an ellipsis. Also removed the non-printf version of uiprivReportInitError. 2019-05-30 01:16:33 -04:00
Pietro Gagliardi 19ad0d33a3 Changed uiInit() to return bool instead of int, now that we've settled on using bool. 2019-05-29 21:10:44 -04:00
Pietro Gagliardi cceae4845e Fixed build issues and added more cases to allcalls.h. I'm going to fix the lack of idnent on the diff()s before continuing. 2019-05-28 22:53:40 -04:00
Pietro Gagliardi b5927353e0 Started work to test that functions dislike being called before uiInit() or on a different thread; better to do it now than later. 2019-05-28 21:54:13 -04:00
Pietro Gagliardi 7c128e7bcd Added internal errors and refined the error handling somewhat. 2019-05-13 21:30:18 -04:00
Pietro Gagliardi 0d21bf8846 Added Debugger() to the programmer error handler on macOS. This will also be used when I add a bug-in-libui function. 2019-05-13 01:00:19 -04:00
Pietro Gagliardi b3049b0a1e Started reintegrating what used to be called user bugs; they're now called programmer errors. We'll create a much more systematic approach to them. Implemented on macOS. 2019-05-12 22:17:24 -04:00
Pietro Gagliardi f97383f66c Rearranged things so that uiInit() itself is in common/init.c and the OS-specific initialization code is its own standalone internal function. This'll make testing a bit easier, especially after the next few commits, and will allow me to test pre-initialization and cross-thread stuff a bit more easily. 2019-05-09 12:07:28 -04:00
Pietro Gagliardi b8a7b57835 And finally fixed uiQuit() on macOS. 2019-04-28 13:43:55 -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 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 484989e925 Implemented uiInit() on macOS. The tests work so far! 2019-04-20 21:38:26 -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 8b37a98170 Settled unix/CMakeLists.txt (was already complete in unix/meson.build) and darwin/CMakeLists.txt (just had one other thing needing to be moved). 2019-03-27 01:02:50 -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 5e557d61b3 Set the minimum required meson version and moved the libui-specific OS X variables into darwin.build like we did with unix.build. 2019-03-23 21:50:54 -04:00
Pietro Gagliardi 1deacb55aa And massaged things into a buildable state. Woo. NOW things are starting to get annoying, but at least it's not so much *voodoo* anymore? 2019-03-23 16:18:13 -04:00
Pietro Gagliardi 253ce9a3cc Decided to just use add_project_(link_)arguments() for now, and set up the macOS build for testing. 2019-03-23 15:42:42 -04:00
Pietro Gagliardi e098cb5585 More TODOs 2018-08-29 20:36:18 -04:00
Pietro Gagliardi f065abedd7 Fixed the uiImage implemenation on OS X. Even though libui won't be running on a big-endian Mac any time soon, I still want to test that code on one to make sure it's correct. 2018-08-29 20:32:12 -04:00
Pietro Gagliardi 9120d6b93f Continuation of previous commit. 2018-08-09 05:08:38 -04:00
Pietro Gagliardi 5d959e5cbc
Merge pull request #387 from mischnic/area-scroll
"Fix area setSize macOS"

I forgot to change this when I made scrollview.m not use Auto Layout. Oops.
2018-08-09 05:07:01 -04:00
Pietro Gagliardi 52bd45bb09 More TODOs. Update #395 2018-08-09 04:54:49 -04:00
Niklas Mischkulnig 68dade3e81
Rename loop variable 2018-08-06 10:54:19 +02:00
Niklas Mischkulnig c0742d3de0
Mac uiImageAppend: handle stride correctly 2018-08-06 09:28:25 +02:00
Pietro Gagliardi e0ca00e55b Resolved confusion about the terminology of strides in uiImageAppend(). Also prevents overallocation on some platforms. Thanks to @mischnic and @msink for spotting this. Update #402. 2018-08-05 18:39:29 -04:00
Pietro Gagliardi 4eaf01f840 Fix double-free spotted by @mischnic in #402. 2018-07-29 13:25:53 -04:00
Pietro Gagliardi a37fdadbd7 Implemented uiControlDestroy() for uiTable on OS X. 2018-07-08 21:22:55 -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 1700c0ccea Reworded a TODO. 2018-07-08 21:13:19 -04:00
Pietro Gagliardi bd685f24f9 Removed a stale TODO; added more TODOs. 2018-06-24 14:48:09 -04:00
Pietro Gagliardi 4ed6e3ec8a Minor TODO resolution. 2018-06-24 14:46:24 -04:00
Pietro Gagliardi f3882d6124 Cleaned up color access across platforms. 2018-06-24 14:22:05 -04:00
Pietro Gagliardi acb40964f3 Deduplicated editable logic across platforms. 2018-06-24 11:41:19 -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