Alexandre Bury
0b6e5b6ad4
Add event polling to Blt backend
...
Basically simulates a constant set_fps(30)
2018-05-20 10:42:52 -07:00
Alexandre Bury
05e1212a50
Refactor Backend input model
...
Backends now have to send input to the given `chan::Sender<Event>`.
They send these events from a separate thread, allowing selection
between input and callbacks.
This currently breaks the BearLibTerminal backend, which requires all
calls to come from the UI thread.
This might not be super-safe for the ncurses backend also. We hope that
input and output are separate enough that they can run concurrently without
problem.
2018-05-20 09:59:35 -07:00
Alexandre Bury
3731b7375d
Ncurses: better color approximation
...
On terminals with only 8 colors (like with `TERM=screen`)
2018-04-11 22:20:00 -07:00
Alexandre Bury
a355171844
Fix clippy warnings
2018-04-10 11:53:25 -07:00
Alexandre Bury
d5178e778b
Do not flush stdout in ncurses backend
2018-04-09 10:06:11 -07:00
Alexandre Bury
2729e77838
Ncurses backend: write mouse command to /dev/tty
2018-04-08 22:51:51 -07:00
Alexandre Bury
b34fb14957
Use ncurses::newterm instead of initscr
...
This leaves stdout untouched, so it can better be composed in other
commands.
2018-04-05 17:40:08 -07:00
Alexandre Bury
fd09b5f806
Use Vec2 in backend methods
2018-04-02 18:08:12 -07:00
Alexandre Bury
126530b9a9
Cursive::new now takes the backend as argument
2018-04-01 16:39:03 -07:00
SEGFAULT
76d340f11d
Making backend::Backend
into a std::Box
able trait ( #229 )
...
* Making Backend into a Boxable Trait
* Fixed up some typos in the previous and modified some of the docs so they still compile.
* Minor Changes requested by @gyscos
* Whoops
2018-04-01 15:35:37 -07:00
Alexandre Bury
1ad9a53cf7
Small refactoring
2018-03-14 15:11:27 -07:00
Alexandre Bury
1ae3bbff89
Fix pancurses input
...
Fixes #210
2018-03-08 10:03:41 -08:00
Alexandre Bury
99046d10c3
Use special key detection for pancurses
...
Shared with the ncurses backend code
2018-02-20 15:44:07 -08:00
Alexandre Bury
beefac9c6a
curses backends: don't crash on weird input
2018-02-20 11:18:02 -08:00
Alexandre Bury
3f35b87757
Use print! rather than println! for ncurses configuration
2018-02-20 10:43:38 -08:00
Alexandre Bury
c626779d8a
Fix simple LinesIterator
...
Was stopping at the first empty line.
2018-02-19 19:55:31 -08:00
Alexandre Bury
b14a2ff5e7
Remove debug lines
2018-01-27 18:15:27 -08:00
Alexandre Bury
fbd4dd97f1
Add grayscale color matching for ncurses backend
2018-01-27 18:14:37 -08:00
Alexandre Bury
da8310b076
Rustfmt
2018-01-22 14:37:27 -08:00
Alexandre Bury
3674c118cb
Rustfmt
2018-01-22 11:55:56 -08:00
Alexandre Bury
5003095171
Update ncurses and owning-ref dependencies
2018-01-15 13:58:26 -08:00
Alexander Gavrilov
f8f23a5dda
Call resize_item on Windows only
2018-01-09 08:24:17 -08:00
Alexander Gavrilov
7469bd36be
Call resize_term on KeySize
2018-01-09 08:01:22 -08:00
Alexandre Bury
f8588e74c1
Rustfmt
2018-01-09 15:17:49 +01:00
Alexandre Bury
2d7f8295cf
Add Effect::{Bold,Italic,Underline}
2018-01-05 13:57:39 +01:00
Alexandre Bury
e4cd68a4eb
Rustfmt
2017-12-30 23:03:42 +01:00
Alexandre Bury
d0c30ded21
Ncurses backend: use character pattern instead of string
2017-12-11 12:29:10 -08:00
Alexandre Bury
70906aa5de
Add mines example
2017-11-29 02:11:11 -08:00
Alexandre Bury
5a52b8de69
Replace eprintln! with warn!
2017-11-20 12:47:51 -08:00
Alexandre Bury
0c39f52016
ncurses: compute whole modifier table at runtime
2017-11-20 11:44:23 -08:00
Alexandre Bury
b2097bd1c8
ncurses: detect key offset at runtime
2017-11-19 20:13:57 -08:00
Alexandre Bury
c10da1390b
Use dynamic key code map in ncurses backend
...
In preparation for detecting key codes dynamically.
(Different ncurses versions will use different code offsets)
2017-11-19 17:14:20 -08:00
Alexandre Bury
42dbe40e3f
Fix modifier keys on ncurses
...
I think we really need to read terminfo instead...
2017-11-19 11:08:52 -08:00
Alexandre Bury
b6cfd43556
Replace last u32 with mmask_t
...
I missed this one...
2017-11-19 01:21:57 -08:00
Alexandre Bury
eeca719a92
Rename split_u32 -> split_i32
2017-11-19 01:14:53 -08:00
Alexandre Bury
a11d02dfa4
Use mmask_t instead of u32
2017-11-19 01:13:24 -08:00
Alexandre Bury
0b5b6ceace
Add mouse support to pancurses
2017-11-19 00:40:56 -08:00
Alexandre Bury
f90621811c
More rustfmt
2017-10-14 21:18:50 -07:00
Alexandre Bury
93982517ae
Fix clippy warnings
2017-10-13 11:24:17 -07:00
Alexandre Bury
111d593f55
Merge branch 'master'
2017-10-13 11:01:39 -07:00
Alexandre Bury
5f3e4b1842
Produce mouse events from BLT backend
2017-10-13 00:20:27 -07:00
Alexandre Bury
acd12326e1
Produce mouse events in termion backend
2017-10-12 21:24:17 -07:00
Alexandre Bury
a4ca7bbf1e
Rustfmt
2017-10-12 16:43:59 -07:00
Peter Kloss
759f57f1f8
fix some clippy warnings
2017-10-11 18:09:49 +02:00
Alexandre Bury
e07e156ad0
Fix types for different ncurses versions
2017-10-10 18:01:03 -07:00
Alexandre Bury
9497ded014
Output mouse events from ncurses backend
2017-10-10 17:50:44 -07:00
Alexandre Bury
7df4b06ef8
Backend::poll_event now takes &mut self
...
To manage an internal buffer, in case backend events and cursive events
don't match 1-for-1.
Planned uses: mouse support (translate click into Press+Release).
2017-10-08 16:02:43 -07:00
Alexandre Bury
2ac5dcb559
Merge pull request #152 from hcpl/use-log
...
Use `log` crate
2017-08-23 12:31:51 -07:00
Alexandre Bury
a1737ca0ba
Fix ncurses input key codes
2017-08-23 09:59:54 -07:00
hcpl
ca4410030a
Use log
crate
...
This provides a uniform way to handle logging and can be combined with
logs from other libraries in end-user apps.
2017-08-23 17:49:09 +03:00