Wez Furlong
e87f129ded
We now do a better job at rendering dejavusansmono
...
The descender in that font seems bad, so guestimate something that works
better for us.
2018-02-18 21:59:28 -08:00
Wez Furlong
8afbcc8ee0
clear adjust for whitespace glyphs
2018-02-18 20:37:13 -08:00
Wez Furlong
4818cdb838
improve font rendering by reducing hinting level
...
and using a more robust color multiplication function.
2018-02-18 20:30:53 -08:00
Wez Furlong
69278e8fde
whoops, fixup width calc for single width glyphs
2018-02-18 17:53:39 -08:00
Wez Furlong
fb83410520
Add brief note about the OpenGL ES 2 requirement
2018-02-18 17:23:05 -08:00
Wez Furlong
fa0549b76e
add some more comments
...
and back out the get_all flag that was added as a temp workaround
in the earlier stages of adding opengl support.
2018-02-18 17:21:02 -08:00
Wez Furlong
3ccb0c24ef
Add third pass draw for underline/strikethrough rendering
2018-02-18 17:12:53 -08:00
Wez Furlong
f51b99cb73
remove some more dead bits and plumb underline/strike into shader
2018-02-18 14:52:10 -08:00
Wez Furlong
a1e5a17e94
remove some dead code
2018-02-18 14:48:24 -08:00
Wez Furlong
6f6622c659
pass has_color flag through to fragment shader
2018-02-18 14:22:43 -08:00
Wez Furlong
8d6950f586
Do a better job at rendering double wide glyphs
...
Color emoji look a bit jagged so we may have a rounding problem
for those. Will revisit them later.
2018-02-18 14:17:31 -08:00
Wez Furlong
a4c45fa321
use a single big vertex buffer
2018-02-18 11:31:00 -08:00
Wez Furlong
4acfd82e87
Default::default for Vertex & Point
2018-02-17 22:17:17 -08:00
Wez Furlong
6e3eb9747a
use texture atlas
2018-02-17 21:34:01 -08:00
Wez Furlong
1607ba4443
Add untested code for managing a texture atlas
2018-02-17 20:37:07 -08:00
Wez Furlong
de700e0207
make it very slightly cheaper to enumerate the screen lines
2018-02-17 15:04:48 -08:00
Wez Furlong
f8b596bd7c
remove more now-dead code
2018-02-17 14:02:02 -08:00
Wez Furlong
878bc4e082
update underline/strike rendering to opengl
2018-02-17 13:50:55 -08:00
Wez Furlong
d86f7ff2df
remove unused bits
2018-02-17 12:18:29 -08:00
Wez Furlong
2b2e443c7b
fix glyph y scale for color emoji
2018-02-17 12:17:36 -08:00
Wez Furlong
98c66b1919
remove unused variables
2018-02-17 12:00:29 -08:00
Wez Furlong
261a6cb6c6
remove some dead xproto code from xgfx
2018-02-17 12:00:13 -08:00
Wez Furlong
220e73e528
clean up more of the rendering
...
We can now render bg colors, selection, cursor, and the text has
reasonable proportions, and coloring.
bright cyan on blue has some black AA artifacts that I need to
investigate.
2018-02-17 11:53:54 -08:00
Wez Furlong
b8eb6dbedc
make color -> uniform conversion more ergonomic
2018-02-17 08:25:59 -08:00
Wez Furlong
6991f5c6e0
fixup rendering of wide and color glyphs
2018-02-17 08:19:01 -08:00
Wez Furlong
cbad708398
the glyphs now have the correct proportions
2018-02-17 07:37:06 -08:00
Wez Furlong
9c4d26827e
draw ghostly looking glyphs
2018-02-17 07:23:59 -08:00
Wez Furlong
c8a58cac06
we now render useless blocks in the fg color via gl
2018-02-16 23:28:51 -08:00
Wez Furlong
20965e786f
start hacking on OpenGL ES2 rendering
2018-02-16 21:44:56 -08:00
Wez Furlong
20f4b21f13
add some more tests
2018-02-12 08:25:31 -08:00
Wez Furlong
28179ff981
check negative value for ECH, too
2018-02-12 08:15:35 -08:00
Wez Furlong
438822d63b
add ECH handling
2018-02-12 07:57:22 -08:00
Wez Furlong
09f481e753
avoid ambiguous true color csi SGR sequence
2018-02-12 07:40:35 -08:00
Wez Furlong
ad3524bfc8
run down an off-by-one in VPA handling
...
This manifested with vim-inside-tmux losing my top tmux status line.
Add a test!
2018-02-11 23:56:42 -08:00
Wez Furlong
0870e6c7e4
tweak comments and error printing around OSC
2018-02-11 22:29:21 -08:00
Wez Furlong
6fb12c3520
add test for reverse index
2018-02-11 21:58:53 -08:00
Wez Furlong
18990a24b4
Basic tab stops
2018-02-11 21:54:18 -08:00
Wez Furlong
4c087d32c1
add NEL sequence and test
2018-02-11 20:56:05 -08:00
Wez Furlong
e6fdd4140b
add more tests
2018-02-11 20:46:59 -08:00
Wez Furlong
236960e1a8
squeeze one extra row in at the bottom of my screen
2018-02-11 18:54:18 -08:00
Wez Furlong
5e49a79705
fix a selection range issue
...
When dragging a multi-line selection down and to the left, we were
incorrectly setting the computed column range.
Add a test and fix it.
2018-02-11 18:35:58 -08:00
Wez Furlong
2ee0414b66
avoid panic when dragging onto partial rows/columns
2018-02-11 18:09:48 -08:00
Wez Furlong
d0de936f62
add some tests for a double-width selection bug
2018-02-11 17:56:49 -08:00
Wez Furlong
adc11f303a
Add some tests for hyperlink parsing and handling
2018-02-11 13:48:51 -08:00
Wez Furlong
ac339f9258
refactor term tests to make it less repeaty
2018-02-11 13:01:36 -08:00
Wez Furlong
0ae6b3e753
use xdg-open to open links on click
2018-02-11 12:41:31 -08:00
Wez Furlong
21f0e3fd98
Recognize clicks on hyperlinks
...
There's plumbing for handling these events in the TerminalHost
trait, but we don't do anything beyond printing them at the moment.
2018-02-11 12:28:37 -08:00
Wez Furlong
b6aa2cffea
make hyperlinks show underlined on hover
...
Adds some plumbing to track the current mouse position and
extract the hyperlink from the cell that is being hovered over.
We render those cells with underline, possibly in a different color.
We don't yet do anything on click.
2018-02-11 12:11:02 -08:00
Wez Furlong
1546c2ef0b
avoid constructing a vec in the common answerback code path
2018-02-11 09:44:04 -08:00
Wez Furlong
7ad2468937
hide AnswerBack from the public interface
...
This felt a bit repeatey and it pre-dated the TerminalHost trait.
I'd like to remove it completely but there are some frustrating and
fiddly lifetime concerns with mutable TerminalHost reference so I'm
hiding it from the public interface and bridging it the answerback
stream into the host at the bottom of the advance_bytes method for
now.
2018-02-11 09:40:02 -08:00