Pietro Gagliardi
|
919e5f09cd
|
Double-correction of previous commit.
|
2015-12-09 15:38:24 -05:00 |
Pietro Gagliardi
|
5f530c5bf7
|
More MinGW stuff.
|
2015-12-09 15:36:56 -05:00 |
Pietro Gagliardi
|
be6555d885
|
More MinGW removal stuff.
|
2015-12-09 15:31:14 -05:00 |
Pietro Gagliardi
|
5e26720f18
|
Removed $ARCH from the build.
|
2015-12-09 13:49:13 -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
|
3394142357
|
Some TODO expansion. This was the active tab on my browser the whole time and I didn't even notice!
|
2015-12-05 20:37:29 -05:00 |
Pietro Gagliardi
|
c5eef23930
|
More TODOs.
|
2015-12-05 20:31:57 -05:00 |
Pietro Gagliardi
|
88f9c7ea19
|
Quick comment update for previous commit.
|
2015-12-04 23:49:04 -05:00 |
Pietro Gagliardi
|
f77955aefb
|
Added uiQueueMain() (basically g_idle_add()) and implemented it on all platforms except Haiku. A test to come. After this we can start rewriting the Go package ui at long last.
|
2015-12-04 23:42:03 -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
|
c2100a19be
|
Implemented some changes to uiArea on Windows, thanks to instructions from Rick Brewster. Removing uiAreaHandler.RedrawOnResize() comes next.
|
2015-12-04 20:45:31 -05:00 |
Pietro Gagliardi
|
d1c93a9956
|
Made relayouts on Windows faster by preventing an accidental requeue of a window that's being processed in the event that a layout change changes the minimum size (such as switching tabs).
|
2015-12-04 19:34:51 -05:00 |
Pietro Gagliardi
|
d9343c0b4b
|
More TODOs.
|
2015-11-30 09:12:56 -05:00 |
Pietro Gagliardi
|
bf35167d40
|
More TODOs.
|
2015-11-28 16:36:08 -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
|
7646e8303d
|
Fixed a small bug in the uiArea message filter.
|
2015-11-27 23:00:57 -05:00 |
Pietro Gagliardi
|
09129229fd
|
Fixed assorted MSVC uiArea issues.
|
2015-11-27 22:44:42 -05:00 |
Pietro Gagliardi
|
14887ad7e3
|
Fixed a logical error in the uiArea message filter.
|
2015-11-27 21:53:17 -05:00 |
Pietro Gagliardi
|
3a5a4557ab
|
Switch uiArea from using a custom message pump to using a message filter for input handling. This allows us to rewrite the dialog system to avoid needing to block ALL windows and set a proper parent window.
|
2015-11-27 21:45:30 -05:00 |
Pietro Gagliardi
|
f5a2759b09
|
Dropped utarray in favor of our ptrArray. This should get rid of our strdup woes.
|
2015-11-27 20:38:21 -05:00 |
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 |
Pietro Gagliardi
|
3f3191ea7a
|
More Windows uiUninit() implementation.
|
2015-05-08 15:01:23 -04:00 |
Pietro Gagliardi
|
04923399fe
|
Implemented uninitMenus() on Windows.
|
2015-05-08 14:23:22 -04:00 |
Pietro Gagliardi
|
85ca2a0901
|
Wrote uninitAlloc() on Windows.
|
2015-05-08 14:05:16 -04:00 |
Pietro Gagliardi
|
b60f17ee5a
|
Added type names to the memory allocator on Windows. More TODOs.
|
2015-05-08 10:34:59 -04:00 |
Pietro Gagliardi
|
27d6994bdc
|
Implemented stub uiUninit()s.
|
2015-05-07 22:32:17 -04:00 |
Pietro Gagliardi
|
6c9a122a7d
|
Changed the default uiWindowOnClosing() behavior. Decided to keep the int return.
|
2015-05-07 20:01:17 -04:00 |
Pietro Gagliardi
|
34f55321e0
|
Added a [libui] and a newline to the message printed by complain().
|
2015-05-07 19:34:45 -04:00 |
Pietro Gagliardi
|
ab5975eeb5
|
More TODOs.
|
2015-05-07 18:14:21 -04:00 |
Pietro Gagliardi
|
727b6871bc
|
Made uiFree(NULL) illegal to spot bugs.
|
2015-05-07 17:45:55 -04:00 |
Pietro Gagliardi
|
efbdf14d5f
|
Made all instances of SetWindowPos() and MoveWindow() use the same wrapper functions so they can all use the same flags. Only the SetWindoPos() that sets the initial size of a uiWindow is unaffected (since that is a special case).
|
2015-05-07 17:40:13 -04:00 |
Pietro Gagliardi
|
49595bb18d
|
Set up proper -m flag manipulation for cross-compiling builds.
|
2015-05-07 16:02:34 -04:00 |
Pietro Gagliardi
|
598a499072
|
Changed ARCH on Windows to be amd64 for a 64-bit build instead of just 64 for consistency with the OS X one.
|
2015-05-07 15:47:29 -04:00 |
Pietro Gagliardi
|
2107595ce7
|
"Exported" uiSizing fields.
|
2015-05-07 14:33:46 -04:00 |
Pietro Gagliardi
|
f74394fbac
|
"Exported" uiSizingSys fields.
|
2015-05-07 14:22:31 -04:00 |
Pietro Gagliardi
|
6e4845f11f
|
Fixed tab order on Windows.
|
2015-05-07 14:20:31 -04:00 |
Pietro Gagliardi
|
38a5341603
|
Fixed public/private namespace clobbering in the Windows backend and a wrong name in ui_darwin.h.
|
2015-05-07 12:58:33 -04:00 |
Pietro Gagliardi
|
91f7096257
|
Resolved a TODO; we were already doing the right hting.
|
2015-05-07 12:25:44 -04:00 |
Pietro Gagliardi
|
bb617883d1
|
"Fixed" box padded application bug on Windows; more related TODOs.
|
2015-05-07 12:24:02 -04:00 |
Pietro Gagliardi
|
94da27c9ba
|
Decided not to rewrite the resizing logic in windows/tab.c for now. Adjusted a few comments as well.
|
2015-05-07 10:14:49 -04:00 |
Pietro Gagliardi
|
316657e09e
|
I'm wrong; read-only edit controls on Windows DO get their backgrounds from their parents. Thanks gamax92 for help confirming.
|
2015-05-07 00:23:35 -04:00 |
Pietro Gagliardi
|
6a1661fd91
|
Implemented read-only uiEntries on Windows.
|
2015-05-06 22:21:11 -04:00 |
Pietro Gagliardi
|
5128fed0af
|
Implemented uiEntryOnChanged() on Windows.
|
2015-05-06 20:06:16 -04:00 |
Pietro Gagliardi
|
5b65c58715
|
Removed a stale TODO.
|
2015-05-06 18:56:12 -04:00 |
Pietro Gagliardi
|
329b4f29dd
|
Implemented tab navigation across tabs on Windows.
|
2015-05-06 18:37:21 -04:00 |
Pietro Gagliardi
|
c5e5fbd909
|
Laid the foundation for proper tab navigation in uiTabs.
|
2015-05-06 18:05:07 -04:00 |
Pietro Gagliardi
|
d247e76866
|
Implemented uiTabInsertPageBefore() on Windows.
|
2015-05-06 14:09:20 -04:00 |
Pietro Gagliardi
|
956b78718f
|
Migrated windows/tab.c to ptrarray and fixed the build.
|
2015-05-06 13:37:23 -04:00 |
Pietro Gagliardi
|
8c3ca7fcce
|
Fixed WM_PRINTCLIENT on uiContainers in windows/container.c. It works.
|
2015-05-06 12:39:06 -04:00 |
Pietro Gagliardi
|
047913d1a6
|
Made paintContainerBackground() in windows/container.c respect the clip rect.
|
2015-05-06 11:30:09 -04:00 |
Pietro Gagliardi
|
74fc1aea45
|
Split out the parent drawing in windows/container.c into its own function. This is necessary to allow for clipping.
|
2015-05-06 11:10:28 -04:00 |
Pietro Gagliardi
|
7e0d79713b
|
Changed the uiContainer code on Windows to use WM_PRINTCLIENT directly instead of creating the brush each time. Thanks to Barmak Shemirani (http://stackoverflow.com/questions/30066108/brush-origin-patblt-and-mapwindowrect-confusion) for inspiring me with this solution that I should have thought of myself =P
|
2015-05-06 02:20:08 -04:00 |
Pietro Gagliardi
|
526e9b81ea
|
Fixed bin destruction handling on the Windows backend.
|
2015-05-06 00:52:24 -04:00 |
Pietro Gagliardi
|
bc2e6d134b
|
Started working on a pointer array implementation. This also means we'll need the C standard library for memcpy()/memmove(), so drop the DisableThreadLibraryCalls() TODO.
|
2015-05-05 22:55:02 -04:00 |
Pietro Gagliardi
|
657cbe2013
|
Updated a TODO.
|
2015-05-05 20:57:30 -04:00 |
Pietro Gagliardi
|
58540b2b2b
|
Changed from GetWindowRect() in windows/contianer.c to get the parent's client size to GetClientRect(); we're only interested in the size, and WM_PRINTCLIENT is strictly for the client :/ It's still correct as far as I know (the old code used it).
|
2015-05-05 20:56:07 -04:00 |
Pietro Gagliardi
|
9f8d16b26a
|
Revert "Switch to using DeferWindowPos() in Windows resizes. It doesn't optimize anything just yet (because it's still recursively invoked), but it can be optimized later (by not responding to container resizes and only using container updates); and more important, it puts (most of) the resizing invocations in one place."
Decided not to make the code that much more complicated.
This reverts commit f6fdf932e1 .
|
2015-05-05 15:19:55 -04:00 |
Pietro Gagliardi
|
f6fdf932e1
|
Switch to using DeferWindowPos() in Windows resizes. It doesn't optimize anything just yet (because it's still recursively invoked), but it can be optimized later (by not responding to container resizes and only using container updates); and more important, it puts (most of) the resizing invocations in one place.
|
2015-05-05 15:10:37 -04:00 |
Pietro Gagliardi
|
f35d68907b
|
More flicker work and TODOs.
|
2015-05-05 14:44:10 -04:00 |
Pietro Gagliardi
|
7f56079257
|
Disabled WM_PRINTCLIENT in uiContainer on Windows for now.
|
2015-05-05 14:37:25 -04:00 |
Pietro Gagliardi
|
4ba82c6eeb
|
Started refactoring uiContainer painting on Windows to be more efficient and handle WM_PRINTCLIENT.
|
2015-05-05 14:00:55 -04:00 |
Pietro Gagliardi
|
93ead4043e
|
Added a wrapper around MapWindowRect() to simplify error handling. This will be needed for future changes to windows/container.c.
|
2015-05-05 13:12:48 -04:00 |
Pietro Gagliardi
|
047d5aaa4d
|
Added error checking to the container painting code. More TODOs.
|
2015-05-05 13:01:20 -04:00 |
Pietro Gagliardi
|
40993b33ab
|
One person reports flicker, one person doesn't... I'll have to investigate myself.
|
2015-05-05 11:02:32 -04:00 |
Pietro Gagliardi
|
84b263ade6
|
Removed windows/OLDcontainer.c; we finally implemented everything from it.
|
2015-05-05 09:40:34 -04:00 |
Pietro Gagliardi
|
913025c3de
|
More TODOs.
|
2015-05-05 09:34:43 -04:00 |
Pietro Gagliardi
|
c0cc7f2df4
|
Implemented uiContainer transparent background drawing.
|
2015-05-05 09:10:58 -04:00 |
Pietro Gagliardi
|
2d49baa2f1
|
Seemingly fixed redraw issues with uiContainer on Windows control background painting. Now to paint uiContainer's background itself.
|
2015-05-05 00:16:25 -04:00 |
Pietro Gagliardi
|
2968d48d9e
|
Figured out something workable for control backgrounds on Windows!
|
2015-05-04 23:06:16 -04:00 |
Pietro Gagliardi
|
4e56f2d2b5
|
Disabled the WM_CTLCOLORxxx handler for now.
|
2015-05-04 22:04:24 -04:00 |
Pietro Gagliardi
|
d4245a448d
|
Moved the WM_CTLCOLORxxx handler back into the Windows uiContainer.
|
2015-05-04 20:36:33 -04:00 |
Pietro Gagliardi
|
e808b155cc
|
Moved a TODO to the long-term TODO list.
|
2015-05-04 20:11:58 -04:00 |
Pietro Gagliardi
|
0ad6cbb4b5
|
Removed a now-stale TODO thanks to some past commits.
|
2015-05-04 20:11:05 -04:00 |
Pietro Gagliardi
|
8b8be286ff
|
Made private functions in the various bin source files static.
|
2015-05-04 17:42:20 -04:00 |
Pietro Gagliardi
|
b2e9b646a4
|
Got rid of typedefs in the various newcontrol files for consistency.
|
2015-05-04 15:51:23 -04:00 |
Pietro Gagliardi
|
854d1f49af
|
Made preferredSize function names consistent on Windows. Stale TODO cleanup.
|
2015-05-04 14:56:26 -04:00 |
Pietro Gagliardi
|
7f41a3982f
|
Finished implementing uiTab enable/disable on Windows.
|
2015-05-04 14:45:18 -04:00 |
Pietro Gagliardi
|
5c9751f4d4
|
Set up a framework on Windows for implementing tab enable/disable.
|
2015-05-04 14:42:23 -04:00 |
Pietro Gagliardi
|
23e3230156
|
Fixed control enabling on Windows uiWindows.
|
2015-05-04 14:32:55 -04:00 |
Pietro Gagliardi
|
4716781e78
|
Finished container enable/disable on Windows for now.
|
2015-05-04 14:05:36 -04:00 |
Pietro Gagliardi
|
d98a2291cb
|
More enable/disable container stuff.
|
2015-05-04 11:09:28 -04:00 |
Pietro Gagliardi
|
b15f5ff1c7
|
Started implementing container enable/disable on Windows. More TODOs.
|
2015-05-04 09:53:53 -04:00 |
Pietro Gagliardi
|
862f84292f
|
Fixed an error in windows/container.c.
|
2015-05-03 19:58:37 -04:00 |
Pietro Gagliardi
|
fd4c559e86
|
Removed the typename argument from uiAlloc() and uiRealloc().
|
2015-05-03 19:52:24 -04:00 |
Pietro Gagliardi
|
997db39bb7
|
Decided not to optimize Windows menu item lookup.
|
2015-05-03 17:37:36 -04:00 |
Pietro Gagliardi
|
23cfcc8c6d
|
Confirmed that tabs are taken into account with TCM_ADJUSTRECT on Windows.
|
2015-05-03 17:21:48 -04:00 |
Pietro Gagliardi
|
aa568e51cf
|
Implemented uiControlPreferredSize() on Windows uiTabs.
|
2015-05-03 17:13:40 -04:00 |
Pietro Gagliardi
|
fc1044aab9
|
Quick TODOTODOTODO... resolution.
|
2015-05-03 16:56:58 -04:00 |
Pietro Gagliardi
|
2186192502
|
Changed c-> to uiControl(c)-> in the various newcontrol files for consistency.
|
2015-05-03 14:44:46 -04:00 |
Pietro Gagliardi
|
51cdb1817e
|
Added WS_EX_CONTROLPARENT to uiContainer on Windows.
|
2015-05-03 14:12:45 -04:00 |
Pietro Gagliardi
|
e8600450aa
|
TODO elaboration.
|
2015-05-03 12:36:35 -04:00 |
Pietro Gagliardi
|
61bcfa1a7e
|
Cleaned up and resolved DllMain() TODOs and issues.
|
2015-05-03 12:34:10 -04:00 |
Pietro Gagliardi
|
80c79d31a3
|
Changed the Windows window-creation code to handle menu wrapping.
|
2015-05-03 12:15:24 -04:00 |
Pietro Gagliardi
|
643ed46b00
|
Cleaned up windows/container.c resize(). More TODOs.
|
2015-05-03 11:55:34 -04:00 |
Pietro Gagliardi
|
dc5b7f4c59
|
Some TODO resolution in windows/tab.c. Wine bug filed (https://bugs.winehq.org/show_bug.cgi?id=38527); first tab behavior verified with program in wine bug.
|
2015-05-03 11:47:06 -04:00 |
Pietro Gagliardi
|
d50701b3a7
|
TODO consolidation.
|
2015-05-03 10:21:36 -04:00 |
Pietro Gagliardi
|
454b3ecb03
|
Changed the various OS-side control creation functions to use Make like uiMakeContainer() does instead of New.
|
2015-05-02 20:51:00 -04:00 |
Pietro Gagliardi
|
57bc11d67c
|
TODO consolidation.
|
2015-05-02 14:58:29 -04:00 |
Pietro Gagliardi
|
3260de37b3
|
BOOL -> int in initAlloc() on Windows.
|
2015-05-02 12:29:55 -04:00 |
Pietro Gagliardi
|
a70d56d77c
|
Switched to the Windows API heap functions in windows/alloc.c.
|
2015-05-02 12:27:53 -04:00 |
Pietro Gagliardi
|
effb919176
|
Added DllMain() to the Windows code.
|
2015-05-01 10:19:44 -04:00 |
Pietro Gagliardi
|
5094f08994
|
Fixed build errors from the previous commit.
|
2015-05-01 10:16:02 -04:00 |
Pietro Gagliardi
|
5ad2bfd6f0
|
Cleaned up uipriv*.h.
|
2015-05-01 10:14:11 -04:00 |
Pietro Gagliardi
|
122b1b0d2c
|
Some TODO consolidation.
|
2015-05-01 10:11:22 -04:00 |
Pietro Gagliardi
|
7dc7c5a5cd
|
Resolved a minor TODO in windows/menu.c.
|
2015-04-30 23:34:56 -04:00 |
Pietro Gagliardi
|
83f936a637
|
Fixed menus on Windows to avoid pointers moving underfoot.
|
2015-04-30 18:30:25 -04:00 |
Pietro Gagliardi
|
60a5931207
|
Added duplicate special menu item protection to the Windows backend.
|
2015-04-30 18:18:20 -04:00 |
Pietro Gagliardi
|
40dee5a693
|
Added bin destruction OS parent checks.
|
2015-04-30 17:49:38 -04:00 |
Pietro Gagliardi
|
dad19a6318
|
Switched from GetParent() to GetAncestor() on Windows since GetAncestor() has no documented error state.
|
2015-04-30 17:39:20 -04:00 |
Pietro Gagliardi
|
6400a6ea8c
|
TODO consolidation.
|
2015-04-30 17:34:15 -04:00 |
Pietro Gagliardi
|
75b4d28569
|
Implemented menu destruction on Windows.
|
2015-04-30 17:05:41 -04:00 |
Pietro Gagliardi
|
b52aa4cfcb
|
Started Windows menu destruction code and fixed a bug in GTK+ menu destruction.
|
2015-04-30 16:44:06 -04:00 |
Pietro Gagliardi
|
14de9f3cad
|
Fixed bug in Windows uiWindowOnClosing() handler.
|
2015-04-30 16:41:41 -04:00 |
Pietro Gagliardi
|
10345a2c7d
|
Implemented the new uiTab methods on Windows.
|
2015-04-30 15:50:03 -04:00 |
Pietro Gagliardi
|
c8695e4ca2
|
Decided to remove allocation logging. Leak checking can be done with dedicated tools.
|
2015-04-30 13:37:13 -04:00 |
Pietro Gagliardi
|
127f025eee
|
Decided not to bother with destruction blocking for now.
|
2015-04-30 13:30:00 -04:00 |
Pietro Gagliardi
|
63f1f7576e
|
Fixed a dumb typo in windows/tab.c that prevented tab switching from working correctly on Windows.
|
2015-04-29 23:05:15 -04:00 |
Pietro Gagliardi
|
a036632795
|
Re-connected Windows events. More TODOs.
|
2015-04-29 19:17:26 -04:00 |
Pietro Gagliardi
|
8f79f0596f
|
Set hidden flag variables BEFORE updating parent containers. Otherwise, parents won't reposition children correctly on systems where updates happen immediately (like OS X).
|
2015-04-29 14:25:34 -04:00 |
Pietro Gagliardi
|
6c6bce3702
|
Moved everything back to the top level.
|
2015-04-29 11:02:38 -04:00 |
Pietro Gagliardi
|
0ca0dcaf2d
|
Migrated the Windows basic controls. Rewrite in the new/ folder done!
|
2015-04-29 10:46:09 -04:00 |
Pietro Gagliardi
|
4c280ca42c
|
Removed or moved a bunch of stale files from the old source. All that's left now is to re-add the main controls and recreate the test program.
|
2015-04-29 10:20:25 -04:00 |
Pietro Gagliardi
|
90bb60a435
|
Moved windows/newcontrol.c and windows/tab.c back. Totally not migrated yet.
|
2015-04-29 01:34:03 -04:00 |
Pietro Gagliardi
|
7c91616af1
|
More old code file removal.
|
2015-04-28 13:53:45 -04:00 |
Pietro Gagliardi
|
bf401201f9
|
Removed a whole bunch of files from the old source tree.
|
2015-04-28 13:51:13 -04:00 |
Pietro Gagliardi
|
ac8e59c004
|
Hooked up the Windows menu event system and fixed some bugs in it. Still need to define menu events in general...
|
2015-04-21 18:52:57 -04:00 |
Pietro Gagliardi
|
dc386a599e
|
Added a framework for handling menu events on Windows.
|
2015-04-21 18:44:31 -04:00 |
Pietro Gagliardi
|
b6a2233d0b
|
Adjusted the Windows menu code for the recent changes (see past few commits).
|
2015-04-20 23:46:02 -04:00 |
Pietro Gagliardi
|
f303f066e2
|
Started implementing menus on Windows.
|
2015-04-20 20:26:21 -04:00 |
Pietro Gagliardi
|
21a29a5468
|
More destruction rules following code.
|
2015-04-19 22:59:06 -04:00 |
Pietro Gagliardi
|
24469a6e7b
|
Added code to check that a control is not destroyed while it has a parent. This isn't enough for uiStack, though...
|
2015-04-19 22:53:09 -04:00 |
Pietro Gagliardi
|
57329ea332
|
Implemented the desire background behavior for controls in windows/parent.c. Only one thing remains: clipping.
|
2015-04-18 20:31:32 -04:00 |
Pietro Gagliardi
|
9492e0b1c1
|
Settled WM_PRINTCLIENT for uiParent on Windows.
|
2015-04-18 20:27:12 -04:00 |
Pietro Gagliardi
|
92474f94af
|
Implemented WM_PAINT for uiParent on Windows. It seems to work...
|
2015-04-18 20:20:47 -04:00 |
Pietro Gagliardi
|
a2311c4c19
|
More TODOs.
|
2015-04-18 18:33:41 -04:00 |
Pietro Gagliardi
|
cf8871c524
|
Cleaned up the new control lifetime logic on Windows.
|
2015-04-18 18:07:57 -04:00 |
Pietro Gagliardi
|
55fe50463f
|
Changed Windows onWM_DESTROY to a generic onDestroy handler with a data parameter. This will make decoupling widget destruction from WM_DESTROY (like we did on GTK+ by decoupling from ::destroy) easier.
|
2015-04-18 18:02:16 -04:00 |
Pietro Gagliardi
|
63ccceed4f
|
Implemented uiTabDeletePage() on Windows. I'm really getting unhappy with the way we're implemented right now...
|
2015-04-18 14:41:28 -04:00 |
Pietro Gagliardi
|
492099f85a
|
Implemented lifetime stuff on Windows Tab. Starting to wonder why I'm bothering, or if this is even working. Anyway now I can write uiTabDeletePage()...
|
2015-04-18 14:19:42 -04:00 |
Pietro Gagliardi
|
efd94b2528
|
Continued implementing Windows lifetime code. Now for uiTab.
|
2015-04-18 14:16:06 -04:00 |
Pietro Gagliardi
|
8dcdbd0878
|
Started the work to settle lifetime issues on the Windows backend.
|
2015-04-18 14:06:12 -04:00 |
Pietro Gagliardi
|
1a76abef21
|
Implemented uiParentDestroy() on the Windows and Unix backends. These don't actually *use* it yet; that'll come later. (Ultimately, there should only be one path into window destruction, which leads to one path in uiParent destruction and one path in child destruction.) More TODOs.
|
2015-04-17 15:52:28 -04:00 |
Pietro Gagliardi
|
841b5c0c73
|
Migrated windows/parent.c to the previous commits's changes.
|
2015-04-17 14:53:56 -04:00 |
Pietro Gagliardi
|
9f0729de1c
|
Changed uiParentSetChild() to uiParentSetMainControl(). Backend changes incoming.
|
2015-04-17 13:43:01 -04:00 |
Pietro Gagliardi
|
d79acdf876
|
More Windows backend cleanup.
|
2015-04-17 11:19:42 -04:00 |
Pietro Gagliardi
|
c4499416d9
|
Migrated windows/tab.c.
|
2015-04-17 11:18:45 -04:00 |
Pietro Gagliardi
|
1ed80a8609
|
Migrated windows/entry.c and windows/label.c.
|
2015-04-17 11:13:42 -04:00 |
Pietro Gagliardi
|
292ea9db7a
|
Migrated windows/checkbox.c. Yes, this might work...
|
2015-04-17 10:49:14 -04:00 |
Pietro Gagliardi
|
5e5df97642
|
Migrated windows/button.c. This might be better; I don't know yet...
|
2015-04-17 10:40:52 -04:00 |
Pietro Gagliardi
|
b91fe0c2ac
|
Some more makefile fixups.
|
2015-04-16 20:52:47 -04:00 |
Pietro Gagliardi
|
3ac3d0a871
|
Fixed warnings in the Windows backend. That just leaves the Mac OS X one...
|
2015-04-16 10:03:31 -04:00 |