Commit graph

11 commits

Author SHA1 Message Date
Andreas Kling
8e96cba7ef Make a nice bitmap cursor.
It's rendered as two CharacterBitmaps right now because I don't have a good
primitive for this and I wanted it right away. I should add 2-color bitmaps..

Also make a neat little effect where the cursor becomes inverted on press.
2019-01-13 07:17:12 +01:00
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
9bc7b128b2 Constrain the mouse cursor to keep it inside the screen rect. 2019-01-12 01:00:24 +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
02f4d6ef8e Move windowing stuff from AbstractScreen to WindowManager. 2018-10-12 01:11:38 +02:00
Andreas Kling
ab5266b924 Rage hacking on TerminalWidget.
There's some really hideous plumbing with globals going on here, but my
priority right now is getting a basic VT100 terminal emulator working.
2018-10-11 12:33:03 +02:00
Andreas Kling
f337616741 More hacking on Widgets. 2018-10-11 01:48:09 +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