Mitchell Hashimoto
97d9157d22
update zig version
2023-05-07 20:50:51 -07:00
Mitchell Hashimoto
4af1a7f163
renderer/Metal: split runs on selection
2023-03-23 10:25:48 -07:00
Mitchell Hashimoto
7ae200a1dc
renderer/metal: fix color bug on macOS 13 Intel.
...
See the associated test.
2023-03-22 14:22:12 -07:00
Mitchell Hashimoto
dfb40426a0
move selection to screen
2023-03-21 10:43:50 -07:00
Mitchell Hashimoto
b0b3b0af2d
update config messages use pointers now to make messages small again
2023-03-19 10:48:42 -07:00
Mitchell Hashimoto
7eda21d544
surface propagates new config to renderer
2023-03-19 09:50:55 -07:00
Mitchell Hashimoto
f34da17a11
renderer: use a DerivedConfig to avoid the main Config pointer
2023-03-19 09:50:54 -07:00
Mitchell Hashimoto
b1a7baf394
metal: do not use setPurgeableState on MTLTexture/Buffer
...
The Metal system automatically will free hardware resources when no
other references exist (I believe) and this causes a crash if you close
a window while a render is in-flight.
2023-03-05 10:00:05 -08:00
Mitchell Hashimoto
cf519bcd75
Use procedurally generated sprites for cursors rather than shaders
2023-03-04 15:14:10 -08:00
Mitchell Hashimoto
4e31f14f7b
renderer: reset font shaper buffer size on font size change
2023-03-03 14:35:26 -08:00
Mitchell Hashimoto
7962bd061b
metal: use the screen size reported in the callback to resize
...
We were previously using the bounds which might be updated later if the
view is in the middle of an animation. Just use the size that represents
our target state.
2023-02-26 17:44:14 -08:00
Mitchell Hashimoto
8a4c8a06fe
Merge pull request #75 from mitchellh/gtk
...
Rearchitect "app runtime" abstraction, minimal GTK implementation
2023-02-24 13:35:14 -08:00
Mitchell Hashimoto
60b2603304
metal: premult alpha for fg color
2023-02-24 08:39:55 -08:00
Mitchell Hashimoto
053748481a
more crap
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
074664398a
macos: correct scale factor propagated
2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
cd77408efc
it draws!
2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
ff9af8a07b
lots of progress running a surface but still crashes
2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
085d462a68
lots of stubbing so window will kind of compile for embedded
2023-02-19 10:44:55 -08:00
Mitchell Hashimoto
41399b6871
renderer: make Metal apprt-aware
2022-12-29 15:14:59 -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
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