Andreas Kling
7577ee0c67
Remove some #if 0'd code.
2019-01-09 04:51:30 +01:00
Andreas Kling
cfd76ade73
Stop recomposing the window hierarchy after every dang widget paint.
2019-01-09 04:46:16 +01:00
Andreas Kling
f3ec96a1b9
Print the number of WindowManager recompose() calls to debugger.
2019-01-09 04:18:28 +01:00
Andreas Kling
39e236d346
Let WindowManager send out events for WindowBecame{Active,Inactive}
2019-01-09 04:15:17 +01:00
Andreas Kling
4775fd88e3
More window management work.
...
- Fix inverted mouse event hit test z-ordering.
- Let the RootWidget backing store simply be the display framebuffer.
2019-01-09 03:51:34 +01:00
Andreas Kling
723ff8c2ab
Add basic z-order for Windows.
2019-01-09 03:16:58 +01:00
Andreas Kling
9963da9005
Start refactoring graphics system to have per-window backing stores.
...
It was fun for everyone to share a single framebuffer but it was also
kinda really awful. Let's move towards having a "GraphicsBitmap" as the
backing store for each Window.
This is going to need a lot of refactoring so let's get started.
2019-01-09 02:06:04 +01:00
Andreas Kling
ec1c487dcd
Yet another pass of style fixes.
2018-12-21 02:10:45 +01:00
Andreas Kling
959a1b0750
Close the MsgBox when clicking the OK button.
...
This feels vaguely crashy. I haven't tested window/widget destruction
before so there's sure to be bugs.
2018-10-14 01:23:01 +02:00
Andreas Kling
1929cb6b71
Implement basic focus.
2018-10-13 17:52:47 +02:00
Andreas Kling
44a32039be
Let the WindowManager track the active window.
...
We draw the active window in a different color, obviously. :^)
2018-10-13 17:42:43 +02:00
Andreas Kling
560405667e
Start using WeakPtr for some of the WindowManager window pointers.
2018-10-13 17:00:45 +02:00
Andreas Kling
6ea8ce500c
Use HashMap::remove() in some places that I wanted it.
2018-10-13 14:26:37 +02:00
Andreas Kling
e16d145cb4
Some color cleanup.
2018-10-12 23:02:23 +02:00
Andreas Kling
6f9e0e3876
After moving a window, try to repaint a bit less.
...
Only repaint windows that intersect either the old or the new rect.
Also only repaint those rects in the root widget.
2018-10-12 19:39:48 +02:00
Andreas Kling
16576112b0
Add a CheckBox widget.
2018-10-12 14:16:40 +02:00
Andreas Kling
73895ce043
Add a clock widget.
2018-10-12 12:18:59 +02:00
Andreas Kling
6f6f9bd84d
Window contents move along with the window!
2018-10-12 02:41:27 +02:00
Andreas Kling
64127e0637
Very hacky support for dragging a window around.
2018-10-12 02:24:05 +02:00
Andreas Kling
22721e6729
The WindowManager can now react to mouse events on the window title bar.
2018-10-12 01:48:18 +02:00
Andreas Kling
5d125e40d9
Deliver mouse events to the appropriate Window.
2018-10-12 01:26:20 +02:00
Andreas Kling
f2fa7b615f
Small refactor.
2018-10-12 01:20:06 +02:00
Andreas Kling
02f4d6ef8e
Move windowing stuff from AbstractScreen to WindowManager.
2018-10-12 01:11:38 +02:00
Andreas Kling
415c4b90c5
Start adding a Window class.
2018-10-12 01:03:22 +02:00
Andreas Kling
a6e0577f30
Some work on window decorations.
2018-10-11 23:25:07 +02:00
Andreas Kling
a4491e9630
More hacking on Widgets.
2018-10-11 16:52:40 +02:00