Struct termimad::TextView [−][src]
Expand description
A scrollable text, in a specific area.
The text is assumed to have been computed for the given area.
For example:
use termimad::*;
// You typically borrow those 3 vars from elsewhere
let markdown = "#title\n* item 1\n* item 2";
let area = Area::new(0, 0, 10, 12);
let skin = MadSkin::default();
// displaying
let text = skin.area_text(markdown, &area);
let view = TextView::from(&area, &text);
view.write().unwrap();
This struct is just a very thin wrapper and may be created dynamically for renderings or event handling.
If the text and skin are constant, you might prefer to use a MadView instead of a TextView: the MadView owns the mardkown string and ensures the formatted text is computed accordingly to the area.
Fields
scroll: usize
show_scrollbar: bool
Implementations
make a displayed text, that is a text in an area
return an option which when filled contains a tupple with the top and bottom of the vertical scrollbar. Return none when the content fits the available space (or if show_scrollbar is false).
display the text in the area, taking the scroll into account.
display the text in the area, taking the scroll into account.
set the scroll position but makes it fit into allowed positions. Return the actual scroll.
Change the scroll position.
lines_count can be negative
change the scroll position pages_count can be negative
Apply an event being a key: page_up, page_down, up and down.
Return true when the event led to a change, false when it was discarded.