90 Commits

Author SHA1 Message Date
Mitchell Hashimoto
c8252133a3 update zig version 2022-12-12 22:10:52 -08:00
Mitchell Hashimoto
dd71456f35 font: shapers init with allocator since web canvas needs to init buffer 2022-12-06 13:44:55 -08:00
Mitchell Hashimoto
760f0c057c renderer: use new shaper structs 2022-12-06 13:25:52 -08:00
Mitchell Hashimoto
f871630fa4 move Atlas to font 2022-11-28 10:35:46 -08:00
Mitchell Hashimoto
379072566f remove underline support from shaders since we now use sprites 2022-11-27 16:18:00 -08:00
Mitchell Hashimoto
2b9a47edb2 metal: underline styles 2022-11-27 16:15:22 -08:00
Mitchell Hashimoto
bfc657395a curly underlines 2022-11-27 16:11:15 -08:00
Mitchell Hashimoto
fee681ac78 dashed underlines 2022-11-27 15:44:12 -08:00
Mitchell Hashimoto
6a32a30a16 font: render dotted underlines 2022-11-27 15:39:18 -08:00
Mitchell Hashimoto
3a248f6051 opengl: render underlines using sprite system, not shaders 2022-11-27 15:18:03 -08:00
Mitchell Hashimoto
584149121d use enum for underline styles 2022-11-27 14:16:51 -08:00
Mitchell Hashimoto
b34e336c5c rearrange box rendering to prepare for more sprite drawing 2022-11-27 10:17:12 -08:00
Mitchell Hashimoto
f01930695a metal: continue to render if single cell fails 2022-11-25 15:30:03 -08:00
Mitchell Hashimoto
179f5e6283 opengl: continue rendering if single cell has error 2022-11-25 13:16:07 -08:00
Mitchell Hashimoto
3b3c93af02 metal: support for box glyphs 2022-11-24 10:21:28 -08:00
Mitchell Hashimoto
6b2ca86ed8 fix offset for box glyphs 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
9bc8d85d67 test rendering box glyphs, looks OKAY 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
611760f98b ability to customize cursor color 2022-11-20 20:35:20 -08:00
Mitchell Hashimoto
2e74b7af9e ability to set selection fg/bg colors 2022-11-20 20:27:12 -08:00
Mitchell Hashimoto
a15afa8211 do not block channel send while draining channel 2022-11-20 20:16:40 -08:00
Mitchell Hashimoto
d213c1a939 fix selection regression caused by screen copy optimization 2022-11-20 20:05:07 -08:00
Mitchell Hashimoto
30d62fc144 workaround for x86_64 ABI issue: https://github.com/ziglang/zig/issues/13598 2022-11-19 22:07:48 -08:00
Mitchell Hashimoto
3de68e1d7a fix memory leaks with metal resources and multi-window/tab 2022-11-18 14:25:02 -08:00
Mitchell Hashimoto
da5164a539 metal: implement two-pass render for bg 2022-11-18 13:54:45 -08:00
Mitchell Hashimoto
ed56d2c2ab opengl: render bg in a separate pass 2022-11-18 13:24:04 -08:00
Mitchell Hashimoto
f64795dc9d opengl: culling is not necessary 2022-11-18 10:10:16 -08:00
Mitchell Hashimoto
4521efb83d move screen resize to a renderer mailbox message 2022-11-17 13:55:04 -08:00
Mitchell Hashimoto
7e24faac72 metal: implement font size changing 2022-11-15 20:18:39 -08:00
Mitchell Hashimoto
dad4923901 hook up all the keyboard actions 2022-11-15 20:10:50 -08:00
Mitchell Hashimoto
3ce554462a window cell size event for changing cell size 2022-11-15 19:54:05 -08:00
Mitchell Hashimoto
657c8540c8 renderer: font size changed event, OpenGL impl 2022-11-15 19:48:32 -08:00
Mitchell Hashimoto
6ec5684c27 window caches all sizing so it doesn't depend on renderer state 2022-11-15 19:30:15 -08:00
Mitchell Hashimoto
78fbf9cb06 remove stage1 workarounds 2022-11-15 13:19:01 -08:00
Mitchell Hashimoto
4727fa9b7b move opengl to renderer dir 2022-11-15 13:12:30 -08:00
Mitchell Hashimoto
18de7cd2ef Move shaders into the renderer dir 2022-11-15 13:10:43 -08:00
Mitchell Hashimoto
334743e8a7 Don't crash on huge padding, warn users if padding is absurd 2022-11-14 17:41:15 -08:00
Mitchell Hashimoto
e6c7fd0214 metal: understand explicit padding 2022-11-14 17:35:10 -08:00
Mitchell Hashimoto
d7d12d9469 explicit padding works 2022-11-14 17:13:56 -08:00
Mitchell Hashimoto
c515cb9b5f initial padding options 2022-11-14 16:19:20 -08:00
Mitchell Hashimoto
184b43ebd6 opengl: padding is done via ortho matrix rather than viewport 2022-11-14 13:13:50 -08:00
Mitchell Hashimoto
4cab24a3da extract auto-padding code to shared logic 2022-11-14 13:10:12 -08:00
Mitchell Hashimoto
024cd65ac8 metal: implement auto padding 2022-11-14 12:37:29 -08:00
Mitchell Hashimoto
f73753ac6f opengl: automatically pad render area to balance non-grid space 2022-11-14 12:24:38 -08:00
Mitchell Hashimoto
019f1e34bb metal: copy screen data (see opengl commit for why) 2022-11-13 17:29:23 -08:00
Mitchell Hashimoto
333ff1e634 opengl: handle screen resize outside of critical area 2022-11-13 16:19:38 -08:00
Mitchell Hashimoto
f1c69343d3 opengl: copy screen data instead of sharing state
Through benchmarking I've determined this lowers lock contention by
about 50% on the critical data.
2022-11-13 16:16:08 -08:00
Mitchell Hashimoto
5b52333e51 name threads and add more tracing 2022-11-07 07:45:46 -08:00
Mitchell Hashimoto
fd304c9338 Deinit devmode more cleanly 2022-11-06 17:26:01 -08:00
Mitchell Hashimoto
e0db46ac97 clean up some resources better on error 2022-11-06 16:23:36 -08:00
Mitchell Hashimoto
ecbd119654 Hook up new window, modify renderers 2022-11-06 10:34:43 -08:00