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
84a4fd8915
And wrote it on Windows. Okay, now we can FINALLY start working on controls!!!!!
2019-05-29 01:02:15 -04:00
Pietro Gagliardi
a6c1e1ed17
Fixed build errors. Now to fix runtime errors.
2019-05-27 11:02:23 -04:00
Pietro Gagliardi
2e82d4aad4
Wrote uiprivReportError() on Windows. Now to fix the... lots of compiler errors :|
2019-05-27 10:45:55 -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
559e4bc139
Changed uiprivHrGetMessageW() to return the BOOL ret value as S_OK and S_FALSE.
2019-04-29 23:12:39 -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
5548119d8d
Big oops
2019-04-28 16:26:00 -04:00
Pietro Gagliardi
812c559b11
Implemented uiMain() and friends on Windows. As a result, started the new HRESULT wrapper stuff.
2019-04-28 16:23:25 -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
f548f6d4d2
Readded the manifest to libui.dll. The test suite passes!
2019-04-21 17:46:50 -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
c6aa8c3324
Pruned windows/init.cpp to a minimal initialization that we can test things with, which includes adding a function to load err->Message with a formatted string.
...
Also added a better error for if InitCommonControlsEx() returns 0 without setting the last error; this usually means that v5 is loaded.
Fixes #451 .
Updates #337 .
2019-04-21 14:49:16 -04:00
Pietro Gagliardi
b89a18f3dd
Don't define DllMain() in a static build. Fixes #433 .
2019-04-21 13:58:19 -04:00
Pietro Gagliardi
29c51b6348
Started readding the Windows code; added the Windows version headers to the docs as well now since I'm cleaning up winapi.hpp as well.
2019-04-21 13:54:39 -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
e8daaf659e
windows/direct2d: fix ID2D1RenderTarget::GetPixelFormat() and ID2D1RenderTarget::GetSize() typedefs in MinGW-w64 ABI workaround
...
MinGW-w64 recently added manual workarounds directly into the class via overloads that make existing Direct2D code source-compatible. However, that exposed an error in my definition of the typedefs I was using in my own workaround: both of these methods are const, even in MSVC, but I neglected to include the const qualifier. I'm not sure how this code compiled in the past, but now the overload resolution engine finds no match.
I want to remain compatible with versions of MinGW-w64 old enough to not have their fix, so our fix remains.
Fixes #446 .
2019-04-07 21:56:35 -04:00
Pietro Gagliardi
4afebf4d8e
Try again again.
2019-04-03 10:20:07 -04:00
Pietro Gagliardi
466f542bd3
Try again.
2019-04-03 10:11:57 -04:00
Pietro Gagliardi
30a8cbf8b1
Fixed VS2017 build for now.
2019-04-03 10:05:00 -04:00
Pietro Gagliardi
257536103f
Clean up specification of Windows dependency listp also suggested by TheQwertiest in freenode #mesonbuild. Also more TODOs.
2019-03-29 11:03:07 -04:00
Pietro Gagliardi
7ea8c33547
Removed TODO about bulk Windows libraries as the answer is no; thanks TheQwertiest in freenode #mesonbuild.
2019-03-29 10:46:27 -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
6a5fedf3f4
Settled windows/CMakeLists.txt.
2019-03-27 00:59:32 -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
c1dfc0ab5d
And got the Windows build working. Woo!
2019-03-24 12:57:25 -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
6a22c61cd4
More work on winrebarexplorertheme.cpp, including the boilerplate for custom draw. More TODOs in general.
2018-10-11 22:19:10 -04:00
Pietro Gagliardi
e2222e414d
Sigh MinGW
2018-09-01 20:03:15 -04:00
Pietro Gagliardi
db9977a4ee
Fixed uiImage on Windows. Phew. Also made it have Windows decide the best parameters, like on other platforms.
2018-09-01 19:09:47 -04:00
Pietro Gagliardi
24df7bc3f2
Cleaned up timers in uiUninit() on GTK+. Update #395 .
2018-08-09 04:49:07 -04:00
Pietro Gagliardi
ad1641f9ab
Cleaned up timers in uiUninit() on Windows. Update #395 .
2018-08-09 04:29:16 -04: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
b60953ed1c
More TODOs.
2018-07-28 13:57:20 -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
Pietro Gagliardi
72c7c05f04
Fixed up AddColumn parameter and private fields names; made them consistent.
2018-06-24 09:52:01 -04:00
Pietro Gagliardi
4dbf1994a6
Deduplicated the default text column parameters across platforms.
2018-06-24 00:45:54 -04:00
Pietro Gagliardi
74ec21f4c7
Turned the direct method calls on uiTableModel into functions to make the call sites look a bit cleaner. More stuff will go into common/tablemodel.c...
2018-06-23 23:35:42 -04:00
Pietro Gagliardi
9a79eed2ac
Final cleanup, first part: renamed uiTableData to uiTableValue.
2018-06-23 20:19:30 -04:00
Pietro Gagliardi
ac27e24add
And even more still. I'm just gonna clean everything up for a merge at this point.
2018-06-23 11:27:02 -04:00
Pietro Gagliardi
888bb450b3
More TODOs.
2018-06-23 11:26:14 -04:00
Pietro Gagliardi
7d17df7121
HRESULT-chained the drawing functions together and fixed bugs in the focus drawing code.
2018-06-22 21:50:04 -04:00
Pietro Gagliardi
d0f7cf81c5
And rewired the focus rect.
2018-06-21 23:47:24 -04:00
Pietro Gagliardi
c2000ea54d
Gave up with CDDS_SUBITEM; it just refuses to play nice with focus rects. Will try drawing focus rects again next commit.
2018-06-21 21:56:24 -04:00
Pietro Gagliardi
4dc7f4c2de
Wrote the initial code to draw the focus rect.
2018-06-20 21:11:15 -04:00