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
2be4eb0da7
font/shaper: split runs at selection boundaries
2023-03-23 10:24:22 -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
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
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
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
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
be75109a1d
new build system
2023-02-14 20:58:33 -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
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
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
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
d213c1a939
fix selection regression caused by screen copy optimization
2022-11-20 20:05:07 -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
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
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