Commit Graph

292 Commits

Author SHA1 Message Date
Pietro Gagliardi 99176a1d10 Disabled compiler warnings for system headers on MSVC. Removed /Wp64; it's a no-op on VS2013 (our minimum supported version). 2015-11-27 20:07:23 -05:00
Pietro Gagliardi d29d36a6cd Fixed assorted build errors in the MSVC build. It works! And MinGW-w64 will need isolation awareness... 2015-11-27 19:59:46 -05:00
Pietro Gagliardi abd99a325b Integrated the Common Controls 6 manifest into libui.dll. While it does work, themes don't work, and I wonder if it's because of isolation awareness. Time to write an nmakefile! 2015-11-27 13:35:24 -05:00
Pietro Gagliardi b8be92bc45 More notes. 2015-11-27 12:35:23 -05:00
Pietro Gagliardi bd354fd651 More TODOs. 2015-11-27 12:21:40 -05:00
Pietro Gagliardi f93d9a4c91 More WPF foundations/boilerplate work. 2015-11-25 14:38:40 -05:00
Pietro Gagliardi 980b93381b Fixed alpha transparency on Haiku, or so it seems. Assorted other notes too. 2015-11-23 19:12:11 -05:00
Pietro Gagliardi c40e80d5a5 Added C++ to the build and started writing the actual Haiku code. I think this isg oing to have to require a GCC 4 hybrid... 2015-11-17 11:49:23 -05:00
Pietro Gagliardi 858ff1d64f Quick makefile change. 2015-10-17 10:22:43 -04:00
Pietro Gagliardi c9b241a7b6 More makefile work. 2015-10-17 10:20:31 -04:00
Pietro Gagliardi 260a7f4879 More makefile fixes. 2015-10-16 23:33:53 -04:00
Pietro Gagliardi f19d3cd0c7 More makefile work. 2015-10-16 22:49:54 -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 ab97e26efc Moved all the common stuff in a new folder common/. This is part of the makefile simplification. 2015-10-16 18:31:14 -04:00
Pietro Gagliardi 982bc989cd Cleaned up the makefile a bit. 2015-10-16 18:14:05 -04:00
Pietro Gagliardi b4cbf79cbb Implemented dashing on OS X. 2015-10-16 11:05:08 -04:00
Pietro Gagliardi 8119a69572 Implemented dashing on Windows. 2015-10-16 10:46:26 -04:00
Pietro Gagliardi 2b4ba6ad16 Implemented mouse event coordinates and proper render target size getting on Windows. 2015-10-14 09:31:31 -04:00
Pietro Gagliardi b5ac921988 Implemented clipping on Windows. Phew! 2015-10-13 13:20:25 -04:00
Pietro Gagliardi 2fd6ba8081 Switched from usin ptrarray to maintaining an array of structures to store context state on Windows. This is neeed because an ID2D1DrawingStateBlock does not store the clipping information (in fact, the clipping does not work quite the way we would like it...). 2015-10-13 10:47:54 -04:00
Pietro Gagliardi c6cdabe20d Preparation for proper, extensible state tracking and clipping on Windows. 2015-10-12 21:11:42 -04:00
Pietro Gagliardi dac5eea07a Fixed transforms on Windows. 2015-10-12 12:16:44 -04:00
Pietro Gagliardi 5f2a8474d9 Attempted to get things working on Windows. Result: argggggggggggggggggggggggggggh I need to write a matrix test suite. 2015-10-12 10:30:36 -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 0989454106 Implemented negative arcs on Windows. 2015-10-11 22:14:27 -04:00
Pietro Gagliardi b09cdb5137 Made 90° point toward y=+∞. 2015-10-11 20:24:06 -04:00
Pietro Gagliardi 0ae3ef918d Implemented the matrix stuff on Windows. Also fixed the signature of uiDrawMatrixSkew(). 2015-10-11 12:36:48 -04:00
Pietro Gagliardi f3a2635f8c Fixed circles in Windows once and for all. 2015-10-11 07:51:14 -04:00
Pietro Gagliardi 6fe77e12f9 More urgent TODOs. Groan... 2015-10-10 21:04:54 -04:00
Pietro Gagliardi 5b37dc9fbe Fully fixed arcs on the Windows backend, for real this time. 2015-10-10 10:48:10 -04:00
Pietro Gagliardi 22b38accee Got the Windows backend's arc code mostly working. It's still 360° arcs that cause problems... 2015-10-10 09:23:44 -04:00
Pietro Gagliardi 73d77ef38b Capped sweeps at 2π radians. 2015-10-09 22:00:41 -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 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 5da68c64b3 Implemented uiComboboxSetSelected() on OS X and Windows; fixed editable combobox minimum widths on OS X. 2015-10-09 14:39:26 -04:00
Pietro Gagliardi 1d4e341583 Fixed a memory leak in the Windows uiArea. 2015-10-09 12:41:01 -04:00
Pietro Gagliardi b0492cbde8 Fixed up more bits of uiArea on Windows. 2015-10-09 11:49:57 -04:00
Pietro Gagliardi e4e72e55bb Merged the Windows uiArea back into the main library. 2015-10-09 11:17:58 -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 eb96d5edb0 Implemented the new combobox stuff on Windows. 2015-10-08 15:42:58 -04:00
Pietro Gagliardi 9dbc8a1ba2 Started writing the Uniscribe gunk. This is a mess... 2015-09-14 22:42:07 -04:00
Pietro Gagliardi c5e4c3a92d Fixed some bugs in the Windows uiArea code. 2015-09-08 12:11:01 -04:00
Pietro Gagliardi dab88e74f2 Fixed uiGroup children positioning on Windows. 2015-09-02 21:29:16 -04:00
Pietro Gagliardi eb7372f7c4 Fixed a memory leak. 2015-09-02 19:46:10 -04:00
Pietro Gagliardi 8df022f806 Fixed up uiSpinbox now that we can do it without having an extra container in the way. 2015-09-02 19:35:34 -04:00
Pietro Gagliardi 7abf662076 More TODOs. 2015-09-02 18:29:14 -04:00
Pietro Gagliardi 80a5f1ac29 More uiRadioButtons work. 2015-09-02 18:26:48 -04:00
Pietro Gagliardi a96e76a4b5 More TODOs. 2015-09-02 16:43:20 -04:00
Pietro Gagliardi 35a4098a35 Made the uiWindow grow when necessary. 2015-09-02 16:26:54 -04:00
Pietro Gagliardi 3f1b72721e Implemented uiTab minimum size and uiWindow resize restriction. 2015-09-02 16:02:06 -04:00
Pietro Gagliardi 54332b90fb Finally merged out the redo folder. 2015-09-02 13:48:06 -04:00
Pietro Gagliardi e3c64dc0d1 Removed what was left in the main folder. We are so fucking close.. 2015-09-02 13:47:18 -04:00
Pietro Gagliardi cefd262f42 More migration. Just control.c left, and then we can build. 2015-08-31 15:14:02 -04:00
Pietro Gagliardi 413ec1a2c3 More migration. 2015-08-31 13:37:56 -04:00
Pietro Gagliardi 3a607cbbf2 Moved back a whole bunch of Windows files. 2015-08-31 12:45:53 -04:00
Pietro Gagliardi ec4ac0d596 Started the migration of uiTab on Windows. Phew; we're getting close... 2015-08-31 11:31:42 -04:00
Pietro Gagliardi 99c37b9697 Wrote up the boilerplate needed for tab pages. 2015-08-31 10:55:33 -04:00
Pietro Gagliardi 411afe4480 "Migrated" uiSpinbox in the same way as with uiRadioButtons. I might need a container and a uiWindowsSpinboxEditHandle()... 2015-08-31 07:28:15 -04:00
Pietro Gagliardi 887c087920 Started the migration of Windows uiRadioButtons. There are two files here: OLDradiobuttons.c, which is the old code as is, and radiobuttons.c, which is the partially-migrated file. 2015-08-30 22:08:25 -04:00
Pietro Gagliardi 311a7d4124 More migration work. 2015-08-30 19:32:05 -04:00
Pietro Gagliardi f5cfdaddb9 Started work on reimplementing Windows API controls with parents. This handles uiGroup. Need to add child.c next. 2015-08-30 18:38:22 -04:00
Pietro Gagliardi 465d497cb6 Migrated all the single-HWND controls that don't have a child. Moment of truth time: do we require all controls to have a single HWND? Leaning toward yes. 2015-08-30 12:25:53 -04:00
Pietro Gagliardi d4bb41f4c0 Migrated uiButton on Windows to the new backend. Most controls will, fortunately, be this smooth. 2015-08-29 21:02:38 -04:00
Pietro Gagliardi 4f930ca8c3 Commit message withheld 2015-08-28 18:27:17 -04:00
Pietro Gagliardi 8213eac2d7 Moved everything up a directory level. 2015-08-27 12:05:11 -04:00
Pietro Gagliardi d98ca5dfd4 Removed more files from the top level. 2015-08-27 11:59:59 -04:00
Pietro Gagliardi 670907489b Removed some ancient Windows files. 2015-05-30 17:48:02 -04:00
Pietro Gagliardi 721d58d4b9 Brought init.c, text.c, and util.c back on Windows. Migrated util.c; still need to do init.c. 2015-05-15 21:09:13 -04:00
Pietro Gagliardi 8594646e45 Migrated windows/group.c. Also forgot a line in windows/tab.c. 2015-05-15 21:06:52 -04:00
Pietro Gagliardi ab4c534360 Migrated windows/tab.c. 2015-05-15 18:54:13 -04:00
Pietro Gagliardi 7d0f250ba7 More migration of files that don't need changes. 2015-05-15 16:17:28 -04:00
Pietro Gagliardi bc9b995c4c Moved the basic controls back to the new Windows backend. More file clearout. 2015-05-15 16:14:22 -04:00
Pietro Gagliardi f380912665 Added sizing information acquisition to the new Windows backend; started clearing out the old windows/container.c. 2015-05-15 16:04:10 -04:00
Pietro Gagliardi 00e53ef547 Started cleaning out the old tree. 2015-05-14 19:29:41 -04:00
Pietro Gagliardi f100989803 Fixed up wording on some errors in windows/menu.c and unix/menu.c. 2015-05-13 10:25:54 -04:00
Pietro Gagliardi 9cca703b06 More uiGroup Windows work. 2015-05-13 10:24:24 -04:00
Pietro Gagliardi 4f267d49c6 More Windows uiGroup work. 2015-05-11 23:02:26 -04:00
Pietro Gagliardi 8f9c40daaa Added an initial implementation of uiGroup on Windows. 2015-05-11 22:53:51 -04:00
Pietro Gagliardi 5deac6cfd6 Made Windows resizes use SWP_NOREDRAW. This makes checking the Spaced box faster, at least. 2015-05-11 13:24:10 -04:00
Pietro Gagliardi a517beccae Added uiContainerUpdate() calls to each SetMargined(). 2015-05-11 12:42:13 -04:00
Pietro Gagliardi 2c9e63d8d2 Same as previous commits, but for uiContainer. We don't need to do these because everything that calls uiControlSetParent() (which should only ever be a uiContainer) should also be updating themselves afterward (or are about to be destroyed). 2015-05-11 12:20:41 -04:00
Pietro Gagliardi df376a5e0b Started to optimize container updating. Removed container updates from each new control set parent. 2015-05-11 12:16:28 -04:00
Pietro Gagliardi a625cc30ad sigh 2015-05-11 12:08:30 -04:00
Pietro Gagliardi d13c0f3cbd Revert "Attempted to improve the profiler a bit, making it more like a real profiler. It doesn't quite work yet."
It won't work. We spend most of our time in GetMessage(). Thanks to various people on Stack Overflow.

This reverts commit a342998263.
2015-05-11 11:46:34 -04:00
Pietro Gagliardi 573e411e2a Revert "Integrated idl2h into the main tree so we can custoize it in ui-specific ways; also moved windows/profiler.go to the new tools/ directory."
Adding runtime type checking obviates an actual GObject-like type system, which is out of scope.

This reverts commit 7a21bdec42.
2015-05-11 10:24:47 -04:00
Pietro Gagliardi 7a21bdec42 Integrated idl2h into the main tree so we can custoize it in ui-specific ways; also moved windows/profiler.go to the new tools/ directory. 2015-05-11 10:15:32 -04:00
Pietro Gagliardi a342998263 Attempted to improve the profiler a bit, making it more like a real profiler. It doesn't quite work yet. 2015-05-10 23:02:16 -04:00
Pietro Gagliardi c0c6b4fed6 Made all variables that refer to a tab page be called 'page'. 2015-05-10 21:22:22 -04:00
Pietro Gagliardi 721acd44a4 Used integer division in the profiler average column to make it easier to sort. 2015-05-10 17:42:28 -04:00
Pietro Gagliardi cb8a4872d5 Added a rudimentary profiler to the Windows backend. 2015-05-10 17:35:52 -04:00
Pietro Gagliardi 41030b0a03 Made it so uiContainer on Windows only updates when we ask it to resize, not on every WM_WINDOWPOSCHANGED. More TODOs. 2015-05-10 12:57:13 -04:00
Pietro Gagliardi bcafe6806a Made uiTab on Windows only resize when explicitly asked to rsize, not on every WM_WINDOWPOSCHANGED. This is important for making resizes smooth. 2015-05-10 12:54:11 -04:00
Pietro Gagliardi 24d63adb51 Migrated the Windows backend to the new bin. 2015-05-10 12:48:11 -04:00
Pietro Gagliardi a2cf4908a3 Started cleaning up bin handling. uiBin is now a real type and all of the things you need to do to a bin are its methods. 2015-05-10 12:36:14 -04:00
Pietro Gagliardi 4954d608f4 Got rid of a stray debugging line in windows/button.c. 2015-05-09 21:19:06 -04:00
Pietro Gagliardi 7bdc50c25a Inhibited uiEntryOnChanged() with uiEntrySetText() on Windows. 2015-05-09 21:18:27 -04:00
Pietro Gagliardi 349d54b2f1 More commentary and TODOs about the previous commit(s). 2015-05-09 16:04:54 -04:00
Pietro Gagliardi bd4716c949 Started code for handling WM_QUERYENDSESSION and its console equivalent. 2015-05-09 14:22:51 -04:00
Pietro Gagliardi 5e258c0c48 Implemented the Quit menu item shouldQuit() logic on Windows. 2015-05-09 10:53:38 -04:00
Pietro Gagliardi a6c86cc863 More Windows uninit stuff. 2015-05-08 17:17:03 -04:00