Commit Graph

1133 Commits

Author SHA1 Message Date
Alexandre Bury
c8d39910ab Backend: add AtomicBool to stop input thread 2018-05-20 10:55:13 -07:00
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
2088d5de2a Cargo fmt 2018-05-17 17:37:39 -07:00
Alexandre Bury
755854963f Fix clippy warnings 2018-05-17 17:35:57 -07:00
Alexandre Bury
80f66262be Scrollview: use proper size for child's layout() call 2018-05-08 18:10:45 -07:00
Alexandre Bury
4a3bbbb998 lorem example: remove unnecessary full_screen() 2018-05-07 23:18:22 -07:00
Alexandre Bury
20cb033b8d Give wrapped rows full width 2018-05-05 09:04:32 -07:00
Alexandre Bury
d4ced015f6 EditView: keep cursor in view after key event 2018-05-03 08:36:17 -07:00
Alexandre Bury
32ee2de697 Scrollview: take scrollbar size into account 2018-05-01 17:55:13 -07:00
Alexandre Bury
0fbc5a888e Add inner size to printer
Renamed Printer::size -> output_size
2018-04-27 16:23:07 -07:00
Alexandre Bury
5586403080 printer: add doc 2018-04-24 17:19:07 -07:00
Alexandre Bury
8c2ff6bd4f Handle content_offset in print methods 2018-04-17 17:22:56 -07:00
Alexandre Bury
b80af07268 Remove Printer::is_new 2018-04-17 16:35:56 -07:00
Alexandre Bury
a8326aef28 Fix key_codes example 2018-04-16 22:54:54 -07:00
Alexandre Bury
f0b3287d73 Merge branch 'master' into scroll 2018-04-16 22:42:42 -07:00
Alexandre Bury
1f6de5a591 Initial scrollview implementation 2018-04-16 22:39:46 -07:00
Alexandre Bury
56ce95f9b6 Add some more XY methods 2018-04-16 22:39:27 -07:00
Alexandre Bury
39babacbf5 Add AnyCb type alias 2018-04-16 22:39:16 -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
8c00b171c0 Ncurses: better color approximation
On terminals with only 8 colors (like with `TERM=screen`)
2018-04-11 22:16:08 -07:00
Alexandre Bury
ff9f669d73 Fix tests & examples 2018-04-10 12:51:40 -07:00
Alexandre Bury
a355171844 Fix clippy warnings 2018-04-10 11:53:25 -07:00
Alexandre Bury
b1e9afe0ff Add vpv example 2018-04-10 11:46:02 -07:00
Alexandre Bury
063589b0cd Move Counter to utils module 2018-04-10 11:45:36 -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
8641098781 Split Printer::sub_printer into sub-methods 2018-04-04 17:49:11 -07:00
Alexandre Bury
4042a45b8d Add basis for ScrollView 2018-04-04 17:48:51 -07:00
Alexandre Bury
fd09b5f806 Use Vec2 in backend methods 2018-04-02 18:08:12 -07:00
Alexandre Bury
1c72ef7ade Update changelog 2018-04-01 22:58:25 -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::Boxable 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
8c64ea0101
Merge pull request #228 from itgonzo/text_area_disable
Adding disable/enable functionality to text_area
2018-03-28 15:48:50 -07:00
marcin
9df4b21a26 Adding disable/enable functionality to text_area 2018-03-28 21:02:53 +02:00
Alexandre Bury
3588955f0b Add SelectView::insert_item 2018-03-25 00:30:48 -07:00
Alexandre Bury
8f04356baa Implement ListView::important_area 2018-03-23 17:00:46 -07:00
Alexandre Bury
e81307a77c Implement Dialog::important_area 2018-03-22 15:24:27 -07:00
Alexandre Bury
c9a4fbf181 Implement Panel::wrap_important_area 2018-03-22 15:21:54 -07:00
Alexandre Bury
d140e154aa Implement ViewWrapper::important_area 2018-03-22 15:15:49 -07:00
Alexandre Bury
6729453118 Implement Menubar::important_area 2018-03-22 15:13:51 -07:00
Alexandre Bury
5673b59c10 Implement {SelectView, MenuPopup}::important_area 2018-03-22 14:31:28 -07:00
Alexandre Bury
4778e4de6f Implement EditView::important_area 2018-03-22 14:17:00 -07:00
Alexandre Bury
a989fd5f80 Implement TextArea::important_area 2018-03-22 14:16:49 -07:00
Alexandre Bury
1ad515e5f0 rustfmt 2018-03-22 11:04:58 -07:00
Alexandre Bury
5c3c750033 Implement LinearLayout::important_area 2018-03-22 11:02:46 -07:00
Alexandre Bury
66a66e5951 Update doc links in tutorials 2018-03-18 10:10:06 -07:00
Alexandre Bury
bd3ea469e9 Add View::important_area
In preparation for ScrollView
2018-03-16 18:07:01 -07:00
Alexandre Bury
e23a5cd3a2 Add Rect::offset 2018-03-16 18:06:53 -07:00