Wez Furlong
bd4e745380
go all-in on glutin and remove my own xcb based code
2018-02-22 00:18:10 -08:00
Wez Furlong
3c379978d2
enable paste and link clicking in glutin backend
2018-02-22 00:07:04 -08:00
Wez Furlong
8cb8d7d613
wire up sigchld
2018-02-21 23:51:52 -08:00
Wez Furlong
df0e85abaf
hook up input events for glutin
2018-02-21 23:37:19 -08:00
Wez Furlong
ae5910af54
Start breaking the clipboard code out from the window code
...
This facilitates using the core of glutin without having too much
custom event loop dispatching.
2018-02-21 20:35:58 -08:00
Wez Furlong
d876d23a28
stub for a glutin based window
...
It can render the terminal but doesn't handle input of any kind.
2018-02-21 00:16:03 -08:00
Wez Furlong
5a7a543050
since glutin is pulled in anyway, simplify the glium dep
2018-02-20 22:55:16 -08:00
Wez Furlong
dca8b734e9
Use glium + glutin on !linux
2018-02-20 22:48:23 -08:00
Wez Furlong
c39dbdc356
stubs for macos font loading
2018-02-20 22:33:09 -08:00
Wez Furlong
ca1c3185de
rustfmt on travis
2018-02-20 22:13:07 -08:00
Wez Furlong
a7f2757452
rustfmt update
2018-02-20 22:08:19 -08:00
Wez Furlong
9dadffcf1e
fix compile for child waiter on !linux
2018-02-20 21:32:44 -08:00
Wez Furlong
e9e3e47b94
make fontconfig/freetype conditional
2018-02-20 20:55:03 -08:00
Wez Furlong
e2462ea16a
refactor rasterizer
2018-02-20 20:49:16 -08:00
Wez Furlong
999396bc45
separate out the fontconfig/freetype code
2018-02-20 20:20:37 -08:00
Wez Furlong
b35fc8a3b1
remove helper method
2018-02-20 19:58:47 -08:00
Wez Furlong
dd4c9d6683
refactor the font loading code
...
This is the first step towards making this code more system independent.
2018-02-20 19:53:50 -08:00
Wez Furlong
b66f93ad11
add non-linux sigchld waiter
2018-02-20 17:34:32 -08:00
Wez Furlong
a4b55ecffb
macos pty api has some mutable ptrs
2018-02-20 17:13:19 -08:00
Wez Furlong
8024acff69
macos related build tweaks
2018-02-20 17:12:17 -08:00
Wez Furlong
e2529d1837
Move opengl code into its own module
2018-02-20 15:46:05 -08:00
Wez Furlong
4efef794fe
move Renderer to its own file
...
It is now independent of the X11 code
2018-02-20 15:43:42 -08:00
Wez Furlong
39a0b6c9fd
extract render code into Renderer class
2018-02-20 15:33:21 -08:00
Wez Furlong
e1cd44922f
move x11 code around
...
idea is to reduce the cfg attributes and make it easier to
split into system dependent renderers
2018-02-20 15:02:39 -08:00
Wez Furlong
5a99dd143c
move hbwrap into harfbuzz crate
2018-02-20 14:32:28 -08:00
Wez Furlong
fe1ae0b7eb
Be more particular about platform deps
2018-02-20 14:17:28 -08:00
Wez Furlong
828580a261
add badges to readme
2018-02-20 13:50:45 -08:00
Wez Furlong
0b68ab0c58
sudo is required to make kcov work
...
travis-ci issue 9061 has the details. I'm not linking that by url
because I don't want to surface this repo too publically already.
2018-02-20 13:41:05 -08:00
Wez Furlong
f4b647863f
add cargo cache to travis
2018-02-20 13:31:35 -08:00
Wez Furlong
820c22301c
travis/kcov
2018-02-20 13:29:17 -08:00
Wez Furlong
4ccb5a2519
revise readme and travis config
2018-02-20 13:17:23 -08:00
Wez Furlong
247be93bc4
maybe add code coverage to the CI
2018-02-20 13:06:50 -08:00
Wez Furlong
a86e81a796
tweak travis config
2018-02-20 12:48:15 -08:00
Wez Furlong
2d45e25953
move these comments; they break the crate attributes(!)
2018-02-20 12:41:21 -08:00
Wez Furlong
e7d99024bb
build our own harfbuzz for broader compat
2018-02-20 12:33:30 -08:00
Wez Furlong
7c0536f9a3
avoid panic if an app sets an invalid scroll region
2018-02-20 08:42:08 -08:00
Wez Furlong
9a5e7999da
TODONE
2018-02-20 08:13:36 -08:00
Wez Furlong
9da069e1e9
clean up atlas api
...
We now bubble up an error if we ran out of texture space.
Previously we'd allocate a new texture but that wouldn't help anyone.
I've bumped up the texture size by default, too.
Longer term we should catch this, blow the font cache, cancel the
pending render and re-render.
2018-02-20 08:09:12 -08:00
Wez Furlong
e6f42987ca
remove another unused crate
2018-02-20 07:41:19 -08:00
Wez Furlong
3a66f29775
remove some unused feature flags
2018-02-20 07:39:15 -08:00
Wez Furlong
1f76edaaef
readme update
2018-02-19 22:15:11 -08:00
Wez Furlong
1ffacec318
add screenshot
2018-02-19 22:10:59 -08:00
Wez Furlong
5ff473872d
Eliminate the third draw call
...
We can consolidate the underline/strike glyph rendering with
the background layer pass.
2018-02-19 22:02:27 -08:00
Wez Furlong
279b2018fd
Render cursor and selection for resized lines
...
If the user enlarges the terminal we can have regions of the vertex
buffer that have colors that default to alpha channel 0. This is
normally fine but breaks rendering of the cursor and the selection;
those attributes are out of band from the normal cell attributes,
especially for whitespace cells, so we need to handle those in
the degenerate case at the end of a line render.
Refactor the code that computes the cursor and selection colors
so that we can call it and use it in both places.
2018-02-19 21:29:27 -08:00
Wez Furlong
d55d5855a5
set CLIPBOARD as well as PRIMARY selection when selecting
2018-02-19 20:53:12 -08:00
Wez Furlong
25e2dc2a96
fix an issue with the selection when in scrollback
2018-02-19 16:26:10 -08:00
Wez Furlong
dd238d5b50
add DCH
2018-02-19 15:33:13 -08:00
Wez Furlong
d041b7be0d
fix an issue with scrolling within a region
2018-02-19 14:39:07 -08:00
Wez Furlong
37e5d8571a
add HVP sequence. Just like CUP.
2018-02-19 14:02:54 -08:00
Wez Furlong
c9eba103d1
Use vecdeque for screen lines
...
This brings us back in the right perf ballpark
2018-02-19 13:08:47 -08:00