Mitchell Hashimoto
ab305add6c
any event mouse tracking
2022-08-26 14:26:42 -07:00
Mitchell Hashimoto
bd5dd69538
normal event (motion) mouse tracking
2022-08-26 14:17:42 -07:00
Mitchell Hashimoto
9aa5378ffa
Track/cache button state and mods state
2022-08-26 13:55:24 -07:00
Mitchell Hashimoto
a4bab6592d
normal events can now track scroll
2022-08-26 12:25:33 -07:00
Mitchell Hashimoto
3096b32f13
mouse normal events in x10 format
2022-08-26 12:17:58 -07:00
Mitchell Hashimoto
93f45af41b
X10 click-only mouse reporting
2022-08-26 12:04:54 -07:00
Mitchell Hashimoto
43b7727cf8
change u1 in mode to bool
2022-08-26 11:27:44 -07:00
Mitchell Hashimoto
f9274bdafc
define mouse events, all TODO
2022-08-26 11:14:34 -07:00
Mitchell Hashimoto
dc6fc5c1c3
implement faint colors (SGR 2)
2022-08-26 11:13:34 -07:00
Mitchell Hashimoto
65df657b4e
make cell attrs bools instead of u1s
2022-08-26 11:09:48 -07:00
Mitchell Hashimoto
469515c02b
bind function keys (F1 to F12)
2022-08-26 10:27:41 -07:00
Mitchell Hashimoto
4ffd5cd994
SGR 39/49 (reset fg/bg, respectively)
2022-08-26 09:56:17 -07:00
Mitchell Hashimoto
a1130095f8
note charsets are TODO
2022-08-26 09:27:51 -07:00
Mitchell Hashimoto
c7a5045bd4
missed comment
2022-08-25 16:24:20 -07:00
Mitchell Hashimoto
84b75967a2
scale the cursor position from screen coords to pixels
2022-08-25 16:09:54 -07:00
Mitchell Hashimoto
a9b34b43c5
code for getting physical DPI
...
we don't need it but I want to put it in Git history
2022-08-25 15:53:29 -07:00
Mitchell Hashimoto
9601920b4d
font size is now in font points, determine size based on window DPI
2022-08-25 12:29:28 -07:00
Mitchell Hashimoto
46bbab5d10
ignore zero-width characters for now
2022-08-24 13:48:22 -07:00
Mitchell Hashimoto
f4b1783c1f
atlas tracks modified/resize state, reallocate on GPU if resized
2022-08-24 12:41:31 -07:00
Mitchell Hashimoto
d8248ef0ae
fix data corruption on growing the Atlas
2022-08-24 12:14:02 -07:00
Mitchell Hashimoto
5713c2f468
move input test to qualified
2022-08-24 11:17:28 -07:00
Mitchell Hashimoto
3b5a9caff5
hook up more control keys: home, end, page up, page down
2022-08-24 11:16:36 -07:00
Mitchell Hashimoto
80376ce6da
hook up keybindings for copy/paste and arrow keys
2022-08-24 11:08:39 -07:00
Mitchell Hashimoto
e6f09093dd
unify non-printables up by bindings
2022-08-24 10:21:27 -07:00
Mitchell Hashimoto
b33268cee3
only handle non-printables on press/release, and BS is 0x7F
2022-08-24 10:18:05 -07:00
Mitchell Hashimoto
622537d665
look up keybindings on keypress, clean up how non-printables are handled
2022-08-24 10:02:13 -07:00
Mitchell Hashimoto
2800a46854
keybind parsing in CLI args
2022-08-24 09:31:14 -07:00
Mitchell Hashimoto
222f70857a
move input stuff to src/input
2022-08-23 19:52:14 -07:00
Mitchell Hashimoto
bc9f81e8d2
binding parse action with parameter
2022-08-23 17:48:52 -07:00
Mitchell Hashimoto
7303909d01
key.Binding and basic parsing
2022-08-23 17:40:36 -07:00
Mitchell Hashimoto
5d8915cc9a
remove unused zig file
2022-08-23 15:30:13 -07:00
Mitchell Hashimoto
5c61bfbe8f
fix stage2 compiler error
2022-08-21 21:38:24 -07:00
Mitchell Hashimoto
ec288d9111
get rid of assertions because its possible they're false
2022-08-20 17:21:14 -07:00
Mitchell Hashimoto
561bbca053
don't render wide char trailers
2022-08-20 17:17:13 -07:00
Mitchell Hashimoto
28072157d5
selection of wide chars and copy/paste works
2022-08-20 17:10:10 -07:00
Mitchell Hashimoto
8a1d7070b3
render wide chars
2022-08-20 16:49:55 -07:00
Mitchell Hashimoto
da79aae0ab
terminal: print wide characters
2022-08-20 16:11:48 -07:00
Mitchell Hashimoto
f93e9eedb3
font: move codepoint into a public API
2022-08-20 10:50:37 -07:00
Mitchell Hashimoto
813f11a5eb
fix crash that could happen looking up fallback
2022-08-20 10:37:12 -07:00
Mitchell Hashimoto
c29f4cace6
remove the font style fallback for the fallback set
2022-08-20 10:37:12 -07:00
Mitchell Hashimoto
43c61f57ef
font FallbackSet for looking up in fallback TTFs (emoji)
2022-08-20 10:37:12 -07:00
Mitchell Hashimoto
22ed65a818
really hacked in emoji support, time to clean it up
2022-08-20 10:37:11 -07:00
Mitchell Hashimoto
3d6ca0e423
font face supports loading color fonts (emoji!)
2022-08-20 10:37:11 -07:00
Mitchell Hashimoto
f9313801f1
avoid an alloc and buffer copy in the common case on font loading
2022-08-19 15:12:57 -07:00
Mitchell Hashimoto
742dd010eb
Texture atlas supports variable color depth, not just greyscale
2022-08-19 14:37:22 -07:00
Mitchell Hashimoto
eeaad799e5
get rid of Z buffer stuff
...
This optimization will take more work, and we already got a lot of the
way there by optimizing how we send data down to the GPU.
2022-08-19 13:48:34 -07:00
Mitchell Hashimoto
2351f88631
updateCell sets the proper Z value and bumps it
2022-08-19 13:34:07 -07:00
Mitchell Hashimoto
73e43b6e64
Grid supports sending partial cell updates to GPU
2022-08-19 12:54:07 -07:00
Mitchell Hashimoto
4ca45936f7
Only reallocate the GPU buffer if our CPU capacity changes
...
Previously, every single render was re-allocating a fairly large (~1MB)
buffer on the GPU. The recommended best practice is to allocate once and
then use `glBufferSubData` to update the memory in-place on the GPU.
We now track the last size we sent to the GPU, compare it to our copy on
the CPU, and if it _grows_ then we reallocate the GPU buffer. If it
shrinks we leave the GPU as-is for now. After this, we use the sub-data
routines to update the data in place.
2022-08-19 10:26:23 -07:00
Mitchell Hashimoto
390d95a5af
Enable depth buffer, add depth to shader
2022-08-19 10:07:30 -07:00