438 Commits

Author SHA1 Message Date
Mitchell Hashimoto
ce77002198 remove metal workaround completely 2023-07-01 15:19:13 -07:00
Mitchell Hashimoto
f537d7aab1 renderer: remove metal workaround, this caused crashes on x86_64
And it now works.
2023-07-01 15:14:24 -07:00
Mitchell Hashimoto
0bb2d22052 renderer: hook up font thickening setting 2023-07-01 10:01:40 -07:00
Mitchell Hashimoto
3795cd6c2d font: turn rasterization options into a struct, add thicken 2023-07-01 09:55:19 -07:00
Mitchell Hashimoto
314f9287b1 Update Zig (#164)
* update zig

* pkg/fontconfig: clean up @as

* pkg/freetype,harfbuzz: clean up @as

* pkg/imgui: clean up @as

* pkg/macos: clean up @as

* pkg/pixman,utf8proc: clean up @as

* clean up @as

* lots more @as cleanup

* undo flatpak changes

* clean up @as
2023-06-30 12:15:31 -07:00
Mitchell Hashimoto
56f8e39e5b Update zig, mach, fmt 2023-06-25 11:08:20 -07:00
Mitchell Hashimoto
c6356930cc renderer: support invisible attribute 2023-06-25 09:31:33 -07:00
Mitchell Hashimoto
1c2451b532 renderer: render underline color if set 2023-06-20 09:39:52 -07:00
Mitchell Hashimoto
1d14b121c0 renderer: do not draw cursor cell inversion if we don't draw the cursor
We previously used the "screen.viewportIsBottom" check but this is
always true since awhile back since we copy only the viewport now. A
cleaner check really is that we only track the cursor cell if we're even
drawing the cursor.
2023-05-25 21:41:43 -07:00
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
2be4eb0da7 font/shaper: split runs at selection boundaries 2023-03-23 10:24:22 -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
8cb9ee5d59 make it claer the config pointer is not stable after renderer/IO init 2023-03-19 09:49:44 -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
935486ca30 Merge pull request #79 from mitchellh/flatpak
Flatpak Package for Linux
2023-02-27 15:29:52 -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
fc3802e632 termio: use host-spawn for pty 2023-02-25 22:36:20 -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
aa49cceb49 opengl: make setting font size thread safe 2023-02-24 07:58:31 -08:00
Mitchell Hashimoto
6acf67ec66 gtk: render! 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
b19f9b2aff opengl: enable single-threaded draw 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
7eb7cae9e0 opengl: move screen size GL context changes into draw path 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
053748481a more crap 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
913131c8f1 rename more stuff 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
fbe35c226b Integrating new surface 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
807c7fc64d opengl: support loading global gl functions 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
d368b8e727 setup app, run works but crashes in OpenGL 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
f268f3955e init gtk app 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
48c9c65915 add app runtime option, add gtk backend 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
35cb9d20b1 opengl: use premult alpha on fg color to avoid dark edges
This avoids an issue I only see in some renderers where the edges of
textures show up with a blurry border. Reading here:
https://www.realtimerendering.com/blog/gpus-prefer-premultiplication/
2023-02-24 07:57:50 -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
be75109a1d new build system 2023-02-14 20:58:33 -08:00
Mitchell Hashimoto
1273527048 renderer uses libxev
Still some bugs and TODOs, but it is workable.
2023-02-01 15:52:22 -08:00
Mitchell Hashimoto
ce490e21ea can specify a wasm target in build 2022-12-31 08:53:11 -08:00
Mitchell Hashimoto
41399b6871 renderer: make Metal apprt-aware 2022-12-29 15:14:59 -08:00
Mitchell Hashimoto
11a3577ef1 rename window package to apprt 2022-12-29 15:11:03 -08:00
Mitchell Hashimoto
e1cd650245 window: abstract more, it starts 2022-12-29 14:51:56 -08:00
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