Wez Furlong
0b7556893d
bunch of plumbing to allow using new window layer as software rendered frontend
2019-09-15 19:09:08 -07:00
Wez Furlong
9e63038391
propagate errors from set_cursor
2019-09-15 19:09:08 -07:00
Wez Furlong
c54d3b55be
prove that spawning additional windows works
2019-09-15 19:09:08 -07:00
Wez Furlong
dff8e1e652
introduce WindowContext for manipulating the window in a callback
2019-09-15 19:09:08 -07:00
Wez Furlong
e6265c93a4
add arbitrary line drawing with anti-aliasing
2019-09-15 19:09:08 -07:00
Wez Furlong
5d40733d8c
implement basic rendering for macos
2019-09-15 19:09:08 -07:00
Wez Furlong
e371e0385d
x11: mouse cursors
2019-09-15 19:09:08 -07:00
Wez Furlong
cc4a089c41
remove some debug prints
2019-09-15 19:09:08 -07:00
Wez Furlong
6902de9da4
mouse events for x11
2019-09-15 19:09:08 -07:00
Wez Furlong
f8f470ab1d
add mouse event processing for windows
2019-09-15 19:09:08 -07:00
Wez Furlong
05a60e6e8b
plumb keyboard events for x11
2019-09-15 19:09:08 -07:00
Wez Furlong
93f4008719
add keyboard support for windows
2019-09-15 19:09:08 -07:00
Wez Furlong
bed8664617
borrow input types from termwiz
2019-09-15 19:09:08 -07:00
Wez Furlong
7cd92a92c8
introduce Connection::executor() -> impl BasicExecutor
...
This can be called from any thread
2019-09-15 19:09:08 -07:00
Wez Furlong
cab062118b
promise: split execute out to BasicExecutor
...
This makes it easier to implement just the scheduling portion
without imposing other restrictions on the executor type.
2019-09-15 19:09:08 -07:00
Wez Furlong
7761b76d3c
almost impl Executor for x11 Connection
2019-09-15 19:09:08 -07:00
Wez Furlong
0ce4a0fb0d
impl Executor for win32 Connection
2019-09-15 19:09:08 -07:00
Wez Furlong
37541eef96
fixup probing for SHM support
2019-09-15 19:09:08 -07:00
Wez Furlong
95cc66e9c0
x11: maintain the image buffer across paint calls
2019-09-15 19:09:08 -07:00
Wez Furlong
ff0d079737
use shm when available
2019-09-15 19:09:08 -07:00
Wez Furlong
3a2493dc9e
fixup build on linux
2019-09-15 19:09:08 -07:00
Wez Furlong
b9b94aa516
add resize callback
2019-09-15 19:09:08 -07:00
Wez Furlong
56dc24a1ee
hook up paint method for x11
2019-09-15 19:09:08 -07:00
Wez Furlong
1de4165152
x11: plumb destroy notification more correctly
2019-09-15 19:09:08 -07:00
Wez Furlong
ee203b0b76
improve lifecycle management on macos
...
I'm not totally convinced that the refcounting is right
because I've not seen `dealloc` get triggered, but the
important thing is that closing the window does cause the
rust level objects to be dropped.
2019-09-15 19:09:08 -07:00
Wez Furlong
645f4f6315
really basic macos window
2019-09-15 19:09:08 -07:00
Wez Furlong
dc6ef6c55d
basic xcb windows too
2019-09-15 19:09:08 -07:00
Wez Furlong
ddd323464b
refactor traits to top level
2019-09-15 19:09:08 -07:00
Wez Furlong
29e3dce2c6
query the dpi for the context
2019-09-15 19:09:08 -07:00
Wez Furlong
cf586cd1d3
use BeginPaint
2019-09-15 19:09:08 -07:00
Wez Furlong
311760df90
introduce a paint context trait
2019-09-15 19:09:08 -07:00
Wez Furlong
a88f0f1beb
improve performance for clear operations
2019-09-15 19:09:08 -07:00
Wez Furlong
de7446b172
add beginnings of painting
2019-09-15 19:09:08 -07:00
Wez Furlong
f2928053aa
resurrect bitmap render code from 236960e1a8
...
Earlier in the life of wezterm we had software rendering in src/xgfx.rs.
This is the bitmap portion of that code from rev
236960e1a8
, tweaked slightly for more
recent changes to the palette crate.
2019-09-15 19:09:08 -07:00
Wez Furlong
f8e36b22eb
window: tidy up crate deps
2019-09-15 19:09:08 -07:00
Wez Furlong
723b76a5ea
DRY: use Option so we only call DefWindowProc once
2019-09-15 19:09:08 -07:00
Wez Furlong
f908d6aad3
add destroy callback
2019-09-15 19:09:08 -07:00
Wez Furlong
f678d02193
use dark mode
2019-09-15 19:09:08 -07:00
Wez Furlong
3b572cb35e
add window callback trait
2019-09-15 19:09:08 -07:00
Wez Furlong
276041a1db
add very basic win32 window creation
2019-09-15 19:09:08 -07:00