Wez Furlong
4640b735c4
Basic handling of double and zero width graphemes
2018-08-01 21:31:02 -07:00
Wez Furlong
db49040d5d
rethink the widget stuff
...
This feels a bit more idiomatic and flexible
2018-08-01 07:56:24 -07:00
Wez Furlong
de38d1aad7
cut over to the new widget bits
2018-07-29 12:45:18 -07:00
Wez Furlong
e71e6d2f5a
start building out alternate widget api
2018-07-29 00:15:14 -07:00
Wez Furlong
3c8adfaf16
use fancier colors in the widget example
2018-07-28 13:21:56 -07:00
Wez Furlong
bb609df317
internalizing boxing when creating widgets
2018-07-28 12:28:10 -07:00
Wez Furlong
e21516d4d2
Add safe sigwinch handling
...
the signal-hook crate provides a nice way to do this without
stomping on other signal handlers
2018-07-27 08:48:34 -07:00
Wez Furlong
947f965c31
make resize signal catching function
2018-07-26 22:13:04 -07:00
Wez Furlong
16dbbb2bad
Trying to improve resize detection and processing
2018-07-26 21:58:08 -07:00
Wez Furlong
250fb20fca
add widget layout solver
2018-07-26 15:33:57 -07:00
Wez Furlong
b3346b9a43
ensure that we set the cursor attributes
...
Set the cursor to match the positioning info reported
by the focused widget
2018-07-24 16:47:41 -07:00
Wez Furlong
d45c6645a1
add basic widgets support infra
2018-07-24 13:49:47 -07:00
Wez Furlong
d1ea0588a3
clarify Blocking enum; Blocking::No -> DoNotWait
2018-07-24 06:25:58 -07:00
Wez Furlong
cba05e3942
tidy up the hello program a tiny bit
2018-07-23 21:45:05 -07:00
Wez Furlong
fa91f1cd7b
Add Terminal::poll_input for decoding terminal input
...
Both blocking and non-blocking are supported
2018-07-23 21:23:26 -07:00
Wez Furlong
e7486d331a
ensure that we can copy screens even if they are blank
...
We were optimizing away setting the cells if only the background
attributes were different between the src and dest
2018-07-22 10:41:34 -07:00
Wez Furlong
2559257869
Add BufferedTerminal
2018-07-22 08:03:11 -07:00
Wez Furlong
c91219d65b
add new_terminal() func for ease of use
...
Make the WindowsTerminal constructors more closely match those
of UnixTerminal in behavior.
2018-07-22 07:05:20 -07:00
Wez Furlong
45ec006a5d
rename screen::Screen to surface::Surface
2018-07-22 05:44:51 -07:00
Wez Furlong
86e59293d3
move renderer state into the Terminal instance
...
This simplifies usage and the Terminal trait
2018-07-21 13:19:38 -07:00
Wez Furlong
82bcccd640
add basic windows console renderer
2018-07-21 08:54:38 -07:00
Wez Furlong
f9fa2733fd
expose windows terminal control handles via Terminal trait
2018-07-21 05:12:56 -07:00
Wez Furlong
59d1a58297
sketch out a NOP windows renderer
2018-07-21 04:26:27 -07:00
Wez Furlong
7d83833e8c
Now with something approximating windows support
...
I've run hello.rs under wine, but even though wine seems
to happily report that the windows 10 escapes are handled,
they are not. So more work is needed.
2018-07-20 20:39:16 -07:00
Wez Furlong
5ac675bb5b
simplify the terminfo renderer code a little by reducing macro usage
2018-07-20 07:18:18 -07:00
Wez Furlong
fe32fac524
Add ClearScreen Action
...
For clearing to a given background color, in some cases we may need
to know the size of the screen. To facilitate this, I've changed
the interface for the renderer to receive the Terminal instance
so that we can query the size of the screen.
2018-07-19 18:01:13 -07:00
Wez Furlong
c78d8a0ccc
add get/set terminal size
2018-07-19 11:26:24 -07:00
Wez Furlong
01f57141e5
Add UnixTerminal and the Terminal and IsTty traits
2018-07-19 10:52:29 -07:00
Wez Furlong
71354f8cb9
flesh out example and a couple of bugs
2018-07-19 09:58:48 -04:00
Wez Furlong
760be03f8e
add failing example
2018-07-17 19:04:23 -07:00