1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-24 13:52:55 +03:00
Commit Graph

1545 Commits

Author SHA1 Message Date
Wez Furlong
0e95f00a52 window: remove debug print on x11 2019-10-24 16:03:32 -07:00
Wez Furlong
6a96b7ddea window: take a stabe at EGL for linux/windows
This doesn't initialize it at all properly yet, but is groundwork
for completing that work in a later commit
2019-10-24 15:54:41 -07:00
Wez Furlong
f57b5deb80 allow compiling on win and linux 2019-10-24 10:37:40 -07:00
Wez Furlong
c6ce005b2a make new opengl frontend basically work on macos
It doesn't yet handle underlines or strikethrough.
Notably, live resizing now works, which is nice!
2019-10-24 08:27:11 -07:00
Wez Furlong
bfc09299d8 clippy 2019-10-12 08:51:48 -07:00
Wez Furlong
41e392fc79 we can now init opengl but not render it 2019-10-10 08:15:00 -07:00
Wez Furlong
3779a1a0b1 software: adopt underline sprites for underlines 2019-10-08 22:08:40 -07:00
Wez Furlong
6ac927eab7 add helper for computing underline sprites 2019-10-08 08:56:34 -07:00
Wez Furlong
f0d2068e07 tweak OutOfTextureSpace handling 2019-10-08 08:24:43 -07:00
Wez Furlong
9b1c877b53 begin splitting out software and gl render state 2019-10-08 08:10:38 -07:00
Wez Furlong
3ae1693433 factor out RenderMetrics 2019-10-08 07:37:36 -07:00
Wez Furlong
85c3884ea0 make glyphcache potentially generic over texture type 2019-10-07 08:53:40 -07:00
Wez Furlong
999e651b17 window: impl Texture2d for SrgbTexture2d 2019-10-07 08:34:54 -07:00
Wez Furlong
2a19850350 add opengl frontend that sits on top of the window code
This uses the same plumbing as the software frontend, but tries
to enable opengl.

None of the opengl rendering is plumbed through here yet, so this
is currently functionally identical to the software renderer.
2019-10-07 07:51:49 -07:00
Wez Furlong
378e7b326f only use simd if the region is wide enough
Refs: https://github.com/wez/wezterm/issues/40
2019-10-07 07:41:11 -07:00
Wez Furlong
0579a52f77 promise: clippy 2019-10-07 07:22:34 -07:00
Wez Furlong
89a0046f5a window: A basic opengl capability 2019-10-07 07:17:57 -07:00
Wez Furlong
85311373a5 clippy 2019-10-01 22:20:52 -07:00
Wez Furlong
c0411197fa improve daemonize error messages to show more useful context 2019-09-30 22:28:19 -07:00
Wez Furlong
29095f8560 software: remove a little bit of overhead from draw_image 2019-09-30 08:36:23 -07:00
Wez Furlong
b2212c3105 software: improve alpha blending for draw_line 2019-09-30 08:17:47 -07:00
Wez Furlong
b5e07005b7 software: fix aligment check 2019-09-30 07:52:31 -07:00
Wez Furlong
b0efba9300 improve linear f32 -> srgb8 conversion
This uses a combination of lookup tables and simd to reduce the
cpu utilization by about ~15% compared to the prior brute force
implementation.
2019-09-30 00:45:35 -07:00
Wez Furlong
07fcc96f5a window: disable alignment based optimization for fill_pixel 2019-09-29 20:59:20 -07:00
Wez Furlong
1e25003cb6 speed up rgb conversion from u8 -> linear f32 2019-09-29 20:52:47 -07:00
Wez Furlong
c6fd88d8c5 add basic simd support for clearing rectangles 2019-09-29 20:24:26 -07:00
Wez Furlong
569408de66 software: handle OutOfTextureSpace condition 2019-09-29 12:42:51 -07:00
Wez Furlong
91e6bb4a5a rustfmt 2019-09-29 12:29:34 -07:00
Wez Furlong
99579bfca2 make it possible to build async example on stable rust
This should make the CI a bit happier
2019-09-28 22:00:07 -07:00
Wez Furlong
52a65370fa cargo fmt with rust 1.38 2019-09-28 21:40:40 -07:00
Wez Furlong
1c5f20f5e5 window: impl close for Windows 2019-09-28 21:16:08 -07:00
Wez Furlong
d44f380a82 window: impl close method on x11 2019-09-28 21:01:18 -07:00
Wez Furlong
d543d07c69 software: remove drop handler 2019-09-28 20:46:31 -07:00
Wez Furlong
950a7d2b22 cargo fix dyn 2019-09-28 20:29:48 -07:00
Wez Furlong
ed25cc81e6 fix an issue where closing tab 0 wouldn't repaint the new tab 0 2019-09-28 19:54:37 -07:00
Wez Furlong
7e09492606 Add close operation on macos 2019-09-28 17:46:43 -07:00
Wez Furlong
34f60dfa7f software: add font size key assignment handling
This doesn't know how to resize the window at the moment, which is
different from how the opengl renderer behaves.
2019-09-28 16:00:08 -07:00
Wez Furlong
a3a54837b7 software: implement paste key assignment 2019-09-28 15:50:42 -07:00
Wez Furlong
436bdf7589 software: implement most key assignments 2019-09-28 13:46:17 -07:00
Wez Furlong
a7c4eb430d export key map code from guicommon 2019-09-28 12:54:11 -07:00
Wez Furlong
6dac1a5cf0 software: always render emoji using its own color
This avoids just rendering black when dragging the selection over
the glyph
2019-09-28 10:44:29 -07:00
Wez Furlong
dd1621e693 window: fixup mouse coords on macos hidpi display 2019-09-28 10:29:47 -07:00
Wez Furlong
40d7186a9c software: pre-scale emoji so they render more reasonably
Since we don't have a draw-image-and-rescale primitive, and since
we'd have to scale every time we drew the glyph, it makes sense to
cache the pre-scaled glyph in the atlas.
2019-09-28 10:20:17 -07:00
Wez Furlong
389c477b16 software: ligatures now render, but scaled emoji need work 2019-09-28 10:06:47 -07:00
Wez Furlong
2a7892e3c5 software: fill marginal areas outside cell dimensions 2019-09-28 09:19:51 -07:00
Wez Furlong
a9621170f7 window: on macos, query the dpi and improve resize/scaling handling 2019-09-28 09:01:14 -07:00
Wez Furlong
3a49b79ec6 basic timer list for x11 in software front end 2019-09-24 09:29:28 -07:00
Wez Furlong
67d6e7fd1a window: cache window bitmap between paint calls
Without this, apps that only render invalidated portions of the screen
will render blank areas for the rest of the screen!
2019-09-23 08:03:23 -07:00
Wez Furlong
b0dd3a3803 fixup basic example for Point changes 2019-09-23 08:01:27 -07:00
Wez Furlong
c1c61974f8 implement timers for windows 2019-09-23 07:36:59 -07:00