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
Wez Furlong
4a742ea56b
(almost) fixup compilation for windows
2019-09-23 06:48:47 -07:00
Wez Furlong
190303c7d5
more explicit dyn for windows
2019-09-23 06:46:56 -07:00
Wez Furlong
8e38f34b6d
fix a couple of warnings
2019-09-22 21:02:02 -07:00