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