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
Pietro Gagliardi
5854b0f638
Loose ends for editing: drew the proper background for text and committing text works now.
2018-06-20 19:31:21 -04:00
Pietro Gagliardi
ccb7005dc6
Properly clipped the edit within the listview.
2018-06-20 18:56:03 -04:00
Pietro Gagliardi
f180423096
Integrated tablemetrics.cpp into tableediting.cpp and added resize-on-type.
2018-06-20 18:47:55 -04:00
Pietro Gagliardi
5ae45a1fcb
Integrated tablemetrics.cpp with tabledraw.cpp.
2018-06-20 18:03:56 -04:00
Pietro Gagliardi
ec07b12295
Split table cell metrics into its own file. We still need to actually integrate this with everything.
2018-06-20 11:05:34 -04:00
Pietro Gagliardi
df59eee783
Renamed tableevents.cpp to the more accurate tableediting.cpp.
2018-06-20 10:45:14 -04:00
Pietro Gagliardi
bff9d0e311
More work on table edit controls, including: subclassing the edit control to actually handle escape and enter, setting focus on the eidt control, selecting all text in the edit control, and splitting the sizing stuff into a separate function. We'll have to split the rect-gathering code into a separate file before we can add live resize to the edit control... which will probably be useful because then I could just write a function to enumerate focus rects later.
2018-06-20 10:39:27 -04:00
Pietro Gagliardi
25a443f4f2
Handled the finished-editing cases I can right now. It is... mostly good???????????? IListView is very tantalizing now...
2018-06-19 23:07:24 -04:00
Pietro Gagliardi
ff4b424ab0
Added WS_CLIPCHILDREN to uiTable to prevent drawing over children.
2018-06-19 07:51:34 -04:00
Pietro Gagliardi
4c107997d2
Round two: fully custom edit sizing code. We're getting somewhere now. Now we'll need to actually manage this thing =P
2018-06-18 23:51:58 -04:00
Pietro Gagliardi
1edb406045
Let's start over with this edit control sizing stuff.
2018-06-18 09:39:14 -04:00