343 Commits

Author SHA1 Message Date
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
3b3c93af02 metal: support for box glyphs 2022-11-24 10:21:28 -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
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
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
18de7cd2ef Move shaders into the renderer dir 2022-11-15 13:10:43 -08:00
Mitchell Hashimoto
e6c7fd0214 metal: understand explicit padding 2022-11-14 17:35:10 -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
019f1e34bb metal: copy screen data (see opengl commit for why) 2022-11-13 17:29:23 -08:00
Mitchell Hashimoto
fd304c9338 Deinit devmode more cleanly 2022-11-06 17:26:01 -08:00
Mitchell Hashimoto
ecbd119654 Hook up new window, modify renderers 2022-11-06 10:34:43 -08:00
Mitchell Hashimoto
746858cea6 implement cursor reset when data comes in pty 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
aa98e3ca3a Move cursor timer to renderer 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
e2d8ffc3c1 renderer mailbox, focus message 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
8dd68ea5fe metal: reallocate textures if they grow 2022-10-31 10:42:27 -07:00
Mitchell Hashimoto
20adaa7b66 metal: disable v-sync 2022-10-31 10:25:49 -07:00
Mitchell Hashimoto
1d1f161b03 metal: fix double wide cell width 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
ddc0d60ea2 metal: set contentsScale and handle screen scale factor for retina 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
c1b70cb788 metal: devmode 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
666833f12f metal: color textures 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
ee45d363a9 metal: cursor and underline 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
4b5174d2c6 metal: blending 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
178418834c metal: glyphs show up (poorly) 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
0058906035 metal: handle HiDPI scaling 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
fb49595904 metal: pass colors in 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
a7c1f63ad8 metal: populate the greyscale texture, prep ubershader 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
89610f9b8d metal: setup vertex data 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
6b7ed3fefb metal: use content scale when resizing 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
ea0265f021 projection matrix, render cell 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
a17a7426a3 draw a square, handle resize 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
4d4c1790cb draw a triangle 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
fc7e457098 add first pass metal shader 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
90a284e176 boilerplate for rendering 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
090bab6798 metal: setup the render loop, draw the background color 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
07271a6cfd Initial metal abstraction (noop) 2022-10-31 09:44:36 -07:00