Commit graph

18 commits

Author SHA1 Message Date
Andreas Kling
e4cb9b2985 Have WindowManager::invalidate() unite dirty rects that intersect each other.
This is kinda primitive but it avoids double-draw when slowly dragging stuff.
2019-01-13 00:04:23 +01:00
Andreas Kling
ecb7e16202 Fix more underdraw bugs in Button due to new Rect semantics. 2019-01-12 17:18:52 +01:00
Andreas Kling
780e15a6cc All right, let's double buffer the display. It looks so much better.
This performs like dogshit. I need to make some optimizations. :^)
2019-01-12 06:39:34 +01:00
Andreas Kling
83252397e4 Ignore WindowManager invalidations inside already invalidated rects. 2019-01-12 03:07:23 +01:00
Andreas Kling
9bc7b128b2 Constrain the mouse cursor to keep it inside the screen rect. 2019-01-12 01:00:24 +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
dfb70ed234 Start working on a simple TextBox widget. 2018-10-13 22:46:34 +02:00
Andreas Kling
aceedaf957 Clip Painter operations to the screen rect. 2018-10-12 22:50:28 +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
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
415c4b90c5 Start adding a Window class. 2018-10-12 01:03:22 +02:00
Andreas Kling
a4491e9630 More hacking on Widgets. 2018-10-11 16:52:40 +02:00
Andreas Kling
f337616741 More hacking on Widgets. 2018-10-11 01:48:09 +02:00
Andreas Kling
77bac7216c More rage hacking on Widgets. Some very basic text drawing. :^) 2018-10-10 20:06:58 +02:00
Andreas Kling
6f37429f57 Intense hacking on Widgets. 2018-10-10 16:49:36 +02:00