Commit graph

10 commits

Author SHA1 Message Date
Andreas Kling
fd4e86460b Make PS2MouseDevice behave more like a proper character device.
Get rid of the goofy MouseClient interface and have the GUI event loop just
read mouse data from the character device.

The previous approach was awful as it was sending us into random GUI code
in the mouse interrupt handler.
2019-01-12 05:23:16 +01:00
Andreas Kling
b95aa18315 Hook up the Keyboard device to the AbstractScreen.
Basic text editing in a TextBox works. How very cool :^)
2019-01-11 04:40:05 +01:00
Andreas Kling
e5e295052f Hook up the PS2MouseDevice to the AbstractScreen+WindowManager.
Render the mouse cursor by xor'ing the pixels. I don't know anything about
hardware cursors yet and this way we don't need to recompose the window
hierarchy every time you move the mouse. :^)
2019-01-11 03:52:09 +01:00
Andreas Kling
d1ceb4b603 Fix uninitialized AbstractScreen instance pointer.
...yeah yeah, one day I'm gonna zero out the kernel's BSS segment. Soon..
2019-01-11 01:43:41 +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
dd502bb54e Make the widgets code build on macOS.
Funny, I haven't looked at this code in a few weeks and there's so much to change!
2018-12-02 23:41:10 +01:00
Andreas Kling
3ebea05996 Add a simple MsgBox() :^) 2018-10-14 00:21:42 +02:00
Andreas Kling
02f4d6ef8e Move windowing stuff from AbstractScreen to WindowManager. 2018-10-12 01:11:38 +02:00
Andreas Kling
6f37429f57 Intense hacking on Widgets. 2018-10-10 16:49:36 +02:00
Andreas Kling
8c84f9749e Start working on a Widgets library. 2018-10-10 15:12:38 +02:00