1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-18 02:42:05 +03:00
Commit Graph

204 Commits

Author SHA1 Message Date
Wez Furlong
cabb9d155c see if we can DRY around some cross platform stuff, baby step 2019-09-15 19:09:08 -07:00
Wez Furlong
9a2037e846 fix some warnings 2019-09-15 19:09:08 -07:00
Wez Furlong
bdc634276d plumbing for polling std::future::futures on macos 2019-09-15 19:09:08 -07:00
Wez Furlong
6d23be0164 use Image to generate underline glyphs 2019-09-15 19:09:08 -07:00
Wez Furlong
e98b29aec6 add apply function to safely access inner data 2019-09-15 19:09:08 -07:00
Wez Furlong
d69938701c macos: cache the bitmap buffer across draw_rect calls 2019-09-15 19:09:08 -07:00
Wez Furlong
a4405ba60d macos: plumb changing the cursor 2019-09-15 19:09:08 -07:00
Wez Furlong
5f547b6972 macos: allow changing window title 2019-09-15 19:09:08 -07:00
Wez Furlong
d8b143776d plumb WindowOps for macos 2019-09-15 19:09:08 -07:00
Wez Furlong
0f25545014 decode key inputs 2019-09-15 19:09:08 -07:00
Wez Furlong
5f7d2f5ccc basic plumbing for mouse input on macos 2019-09-15 19:09:08 -07:00
Wez Furlong
57992c0570 add resize handler for macos 2019-09-15 19:09:08 -07:00
Wez Furlong
8ae35f5b01 Arc -> Rc for macos 2019-09-15 19:09:08 -07:00
Wez Furlong
da90ad7ec6 fix byteorder for bitmaps on macos 2019-09-15 19:09:08 -07:00
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