Commit Graph

56 Commits

Author SHA1 Message Date
Sasha Koshka 45278fbb8b Fix bug where nil cells would sometimes render without styling 2022-11-29 02:53:36 -05:00
Sasha Koshka ef5a811140 Loading of multiple fonts for bold and italic 2022-11-29 02:36:24 -05:00
Sasha Koshka e753fc11ca Implemented awful fallback bold and italic 2022-11-29 02:12:30 -05:00
Sasha Koshka f51f9ae5c5 Implemented highlight and underline styles 2022-11-29 01:28:54 -05:00
Sasha Koshka a6e4ed9934 Rename unicode.go to encoding.go 2022-11-25 13:35:11 -05:00
Sasha Koshka 9d2872f256 Support mode shift modifier
The code has also been reorganized and cleaned up a bit, with more
comments added.
2022-11-25 13:33:28 -05:00
Sasha Koshka e588d7d791 Modifier states returned from x backend should be 100% correct now 2022-11-24 22:16:22 -05:00
Sasha Koshka 941a78eaf1 THE DRAGON HAS BEEN SLAIN
Numlock is fully supported, as well as shift lock. Of course, I
cannot properly test shift lock or caps lock because I have neither
of those things, but I assume they work as well as num lock does.
2022-11-24 22:02:32 -05:00
Sasha Koshka 33ed2af075 We now take into account keypad keys
However, num lock is not accounted for. This still needs to be
implemented.
2022-11-24 18:20:47 -05:00
Sasha Koshka 5a76bd0c22 Fix bug with keyboard input 2022-11-23 20:34:05 -05:00
Sasha Koshka ae514f5ae2 Add proper and reliable (i hope) support for modifier keys 2022-11-22 00:21:35 -05:00
Sasha Koshka 8c28c57925 Support for meta and hyper keys added
Support for the compose key has also been added but it's just the
button code for now, no support for actually composing stuff.
There are plans for that in a fixme.
2022-11-21 23:43:22 -05:00
Sasha Koshka 9a8bb85afc Replaced orange with a dim/grey color 2022-11-18 19:46:50 -05:00
Sasha Koshka f55f98651f It needed more blackjack and hookers to work correctly 2022-11-17 23:16:47 -05:00
Sasha Koshka 3cb0ac64fc I made my own draw method with blackjack and hookers 2022-11-17 21:19:23 -05:00
Sasha Koshka 75200a7310 Mouse scroll events are properly compressed and summed up 2022-11-17 19:23:39 -05:00
Sasha Koshka c57c8acba7 Changed the API for scrolling 2022-11-17 19:11:49 -05:00
Sasha Koshka 43696543d8 Compress motion notify events 2022-11-17 19:01:16 -05:00
Sasha Koshka 51fbd8acef Added more efficient damage buffer method 2022-11-17 00:26:28 -05:00
Sasha Koshka 0ee58d22f6 Made centering the buffer in the window optional
It causes jitter while resizing in floating wms
2022-11-16 11:31:35 -05:00
Sasha Koshka 81a0c60943 Added simpler method of detecting window bounds change on draw 2022-11-16 11:14:30 -05:00
Sasha Koshka cab280a371 Removed the need for a quit handler 2022-11-16 11:08:30 -05:00
Sasha Koshka e030f8632b Overhauled event system 2022-11-16 00:29:23 -05:00
Sasha Koshka 77cf88b856 There is only one type of buffer now 2022-11-15 17:36:41 -05:00
Sasha Koshka 02d010818f Fix possible segfault in X backend 2022-11-15 11:40:10 -05:00
Sasha Koshka de3e4b528b Redid color system 2022-11-15 11:16:29 -05:00
Sasha Koshka 6b251e6fee Position buffer in center of screen 2022-11-14 23:38:41 -05:00
Sasha Koshka 79d8891c5b Added some stuff to draw debug bounding boxes 2022-11-14 23:32:05 -05:00
Sasha Koshka d9c9895e82 Fixed mouse buttons 2022-11-14 23:17:10 -05:00
Sasha Koshka 1d71df180d Changed how buttons are stored in press and release events 2022-11-14 23:15:21 -05:00
Sasha Koshka c6c7383ef2 Fixed advance keycode translation 2022-11-14 22:58:44 -05:00
Sasha Koshka 84cd21b16d Added untested advanced keycode translation 2022-11-14 22:33:46 -05:00
Sasha Koshka 820c7d4f6a Made separate function for converting keycode to keysym 2022-11-14 15:58:34 -05:00
Sasha Koshka aee4158d2d Added keyboard input 2022-11-13 23:47:35 -05:00
Sasha Koshka 82caf1efd8 Split X backend into multiple files 2022-11-13 22:44:19 -05:00
Sasha Koshka 5a0e0cd49b Set minimum window dimensions 2022-11-13 15:39:33 -05:00
Sasha Koshka 636e5ce7e7 Sus. Sus amongus.
amoogoos.
2022-11-12 22:43:36 -05:00
Sasha Koshka 48510db209 Added mouse button press input 2022-11-12 19:02:24 -05:00
Sasha Koshka 47ee6545cb X backend only sends what it needs to 2022-11-11 23:46:46 -05:00
Sasha Koshka e4f97a918a Application must now manually call application.Draw in all cases
This behavior is way more consistent, and it makes the drawing code
a bit simpler.
2022-11-11 23:24:20 -05:00
Sasha Koshka c865f7146a Buffer is now reallocated on window size change 2022-11-11 22:46:07 -05:00
Sasha Koshka 05c448f058 Applications can now manually call a screen redraw in a way that I think is thread safe 2022-11-11 22:30:59 -05:00
Sasha Koshka 38f7185be2 Draw the actual buffer text on screen 2022-11-11 18:14:43 -05:00
Sasha Koshka 85b6e5495e Fonts now render properly with a baseline and all that 2022-11-11 17:25:17 -05:00
Sasha Koshka 8ef81ecc7f Implemented some shape drawing functions to debug character positioning 2022-11-11 15:20:52 -05:00
Sasha Koshka cc498fa89c Find and load any font 2022-11-11 15:01:36 -05:00
Sasha Koshka ed5c6829d4 Remove fakeImage struct and replace with image.Uniform 2022-11-11 14:51:08 -05:00
Sasha Koshka 93b02b4628 We have text 2022-11-10 21:32:02 -05:00
Sasha Koshka d26845a4d6 Draw background color in window 2022-11-10 20:43:27 -05:00
Sasha Koshka 1afbcdb6bc Load an actual font 2022-11-10 12:38:02 -05:00