Commit graph

2792 commits

Author SHA1 Message Date
Andreas Kling
1df47d3ed5 Set KeyEvent modifier bits from SDL key event. 2018-10-12 20:56:22 +02:00
Andreas Kling
b999a77d0f Improve KeyEvent a bit.
Now it has a text() which is what you'll usually want.
2018-10-12 20:55:06 +02:00
Andreas Kling
fb4ae12bc2 Add a visual bell to TerminalWidget. Also backspace. 2018-10-12 20:05:11 +02:00
Andreas Kling
20a1795218 Improve CheckBox style a bit. 2018-10-12 19:47:20 +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
74aa4d5345 Fix CheckBox caption position. 2018-10-12 17:00:51 +02:00
Andreas Kling
ff0ce2b921 Painter::TextAlignment::Center vertical fix. 2018-10-12 16:57:43 +02:00
Andreas Kling
0dcdbe3e03 Make buttons pressable. 2018-10-12 15:52:41 +02:00
Andreas Kling
5412dac05d Paint Button in a very Windows 3-ish style. 2018-10-12 14:58:16 +02:00
Andreas Kling
16576112b0 Add a CheckBox widget. 2018-10-12 14:16:40 +02:00
Andreas Kling
c7463aad11 Add a CBitmap class. The C is for Courage. 2018-10-12 12:49:45 +02:00
Andreas Kling
e23ac56017 Add a Painter::drawBitmap() and make Painter::drawText() use it. 2018-10-12 12:29:58 +02:00
Andreas Kling
73895ce043 Add a clock widget. 2018-10-12 12:18:59 +02:00
Andreas Kling
6637dec958 Put the font test into its own Window. 2018-10-12 10:06:50 +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
bd6172e3c7 Use Font in more places. 2018-10-11 23:59:39 +02:00
Andreas Kling
110d01941a Add a simple Font class. 2018-10-11 23:54:30 +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
Andreas Kling
c37ded0ae4 Support arbitrary pointer traits. 2018-10-11 16:52:30 +02:00
Andreas Kling
5e5f5f60e3 Tweaks to Peanut8x10. 2018-10-11 14:58:52 +02:00
Andreas Kling
7df67570e6 Make an 8x10 version of Peanut. It looks a bit nicer I think. 2018-10-11 14:44:27 +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
f282df6617 AK::Buffer should not free unowned backing stores, duh. 2018-10-11 12:30:35 +02:00
Andreas Kling
0abc19b0ff Dispatch MouseUp events with SDL. 2018-10-11 02:55:02 +02:00
Andreas Kling
c61cbf4234 Start poking at a TerminalWidget. 2018-10-11 02:50:08 +02:00
Andreas Kling
f337616741 More hacking on Widgets. 2018-10-11 01:48:09 +02:00
Andreas Kling
aee66e0119 Avoid modifying Object::m_children while iterating it. 2018-10-11 01:00:15 +02:00
Andreas Kling
e810120260 Peanut8x8 can paint all the ASCII characters! 2018-10-11 00:56:28 +02:00
Andreas Kling
cb64ff229a More work on the bitmap font. 2018-10-11 00:10:36 +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
Andreas Kling
8c84f9749e Start working on a Widgets library. 2018-10-10 15:12:38 +02:00
Andreas Kling
a181a8f6e7 Run without SimpleMalloc locally for now. 2018-10-10 15:11:43 +02:00
Andreas Kling
0dac2c2b7f Add a cool banner. 2018-10-10 13:18:46 +02:00
Andreas Kling
5a30055157 Import all this stuff into a single repo called Serenity. 2018-10-10 11:53:07 +02:00