pub struct Pancake { /* private fields */ }Expand description
Central data structure.
Implementations§
Source§impl Pancake
impl Pancake
Sourcepub fn render_panel(&self, panel: &Panel)
pub fn render_panel(&self, panel: &Panel)
Renders a panel to the terminal buffer.
Examples found in repository?
examples/getting_started.rs (line 35)
7fn main() {
8 // cook pancake and init colors
9 let pancake = FryingPan::default()
10 .hide_cursor(true)
11 .no_delay(true)
12 .color(true)
13 .build()
14 .unwrap();
15 init_pair(BLUE_WHITE, COLOR_BLUE, COLOR_WHITE);
16
17 // make panel, position v v size
18 let mut panel = Panel::new(Point::from(1, 1), 10, 30);
19 panel.draw_box();
20
21 // printing does not move the cursor
22 panel.mv_print(Point::from(1, 0), "╴pancakes╶");
23 panel.mv_print(Point::from(1, 1), "hello");
24
25 // the cursor will be within bounds, unwrap is fine
26 panel.attr_on(A_ITALIC).unwrap();
27 panel.attr_on(color_pair(BLUE_WHITE)).unwrap();
28
29 loop {
30 if let Some(Input::Character('q')) = pancake.get_char() {
31 break;
32 }
33
34 pancake.erase();
35 pancake.render_panel(&panel);
36 pancake.refresh();
37
38 sleep(SLEEP_TIME);
39 }
40
41 pancake.quit();
42}Sourcepub fn get_char(&self) -> Option<Input>
pub fn get_char(&self) -> Option<Input>
Read a single character from the terminal. In no_delay mode and if no key is pressed,
returns None.
Examples found in repository?
examples/getting_started.rs (line 30)
7fn main() {
8 // cook pancake and init colors
9 let pancake = FryingPan::default()
10 .hide_cursor(true)
11 .no_delay(true)
12 .color(true)
13 .build()
14 .unwrap();
15 init_pair(BLUE_WHITE, COLOR_BLUE, COLOR_WHITE);
16
17 // make panel, position v v size
18 let mut panel = Panel::new(Point::from(1, 1), 10, 30);
19 panel.draw_box();
20
21 // printing does not move the cursor
22 panel.mv_print(Point::from(1, 0), "╴pancakes╶");
23 panel.mv_print(Point::from(1, 1), "hello");
24
25 // the cursor will be within bounds, unwrap is fine
26 panel.attr_on(A_ITALIC).unwrap();
27 panel.attr_on(color_pair(BLUE_WHITE)).unwrap();
28
29 loop {
30 if let Some(Input::Character('q')) = pancake.get_char() {
31 break;
32 }
33
34 pancake.erase();
35 pancake.render_panel(&panel);
36 pancake.refresh();
37
38 sleep(SLEEP_TIME);
39 }
40
41 pancake.quit();
42}Sourcepub fn erase(&self)
pub fn erase(&self)
Erase the terminal buffer. Call before rendering.
Examples found in repository?
examples/getting_started.rs (line 34)
7fn main() {
8 // cook pancake and init colors
9 let pancake = FryingPan::default()
10 .hide_cursor(true)
11 .no_delay(true)
12 .color(true)
13 .build()
14 .unwrap();
15 init_pair(BLUE_WHITE, COLOR_BLUE, COLOR_WHITE);
16
17 // make panel, position v v size
18 let mut panel = Panel::new(Point::from(1, 1), 10, 30);
19 panel.draw_box();
20
21 // printing does not move the cursor
22 panel.mv_print(Point::from(1, 0), "╴pancakes╶");
23 panel.mv_print(Point::from(1, 1), "hello");
24
25 // the cursor will be within bounds, unwrap is fine
26 panel.attr_on(A_ITALIC).unwrap();
27 panel.attr_on(color_pair(BLUE_WHITE)).unwrap();
28
29 loop {
30 if let Some(Input::Character('q')) = pancake.get_char() {
31 break;
32 }
33
34 pancake.erase();
35 pancake.render_panel(&panel);
36 pancake.refresh();
37
38 sleep(SLEEP_TIME);
39 }
40
41 pancake.quit();
42}Sourcepub fn refresh(&self)
pub fn refresh(&self)
Copy the terminal buffer to the terminal. Call after rendering.
Examples found in repository?
examples/getting_started.rs (line 36)
7fn main() {
8 // cook pancake and init colors
9 let pancake = FryingPan::default()
10 .hide_cursor(true)
11 .no_delay(true)
12 .color(true)
13 .build()
14 .unwrap();
15 init_pair(BLUE_WHITE, COLOR_BLUE, COLOR_WHITE);
16
17 // make panel, position v v size
18 let mut panel = Panel::new(Point::from(1, 1), 10, 30);
19 panel.draw_box();
20
21 // printing does not move the cursor
22 panel.mv_print(Point::from(1, 0), "╴pancakes╶");
23 panel.mv_print(Point::from(1, 1), "hello");
24
25 // the cursor will be within bounds, unwrap is fine
26 panel.attr_on(A_ITALIC).unwrap();
27 panel.attr_on(color_pair(BLUE_WHITE)).unwrap();
28
29 loop {
30 if let Some(Input::Character('q')) = pancake.get_char() {
31 break;
32 }
33
34 pancake.erase();
35 pancake.render_panel(&panel);
36 pancake.refresh();
37
38 sleep(SLEEP_TIME);
39 }
40
41 pancake.quit();
42}Sourcepub fn quit(&self)
pub fn quit(&self)
Gracefully shutdown and return terminal to default state.
Examples found in repository?
examples/getting_started.rs (line 41)
7fn main() {
8 // cook pancake and init colors
9 let pancake = FryingPan::default()
10 .hide_cursor(true)
11 .no_delay(true)
12 .color(true)
13 .build()
14 .unwrap();
15 init_pair(BLUE_WHITE, COLOR_BLUE, COLOR_WHITE);
16
17 // make panel, position v v size
18 let mut panel = Panel::new(Point::from(1, 1), 10, 30);
19 panel.draw_box();
20
21 // printing does not move the cursor
22 panel.mv_print(Point::from(1, 0), "╴pancakes╶");
23 panel.mv_print(Point::from(1, 1), "hello");
24
25 // the cursor will be within bounds, unwrap is fine
26 panel.attr_on(A_ITALIC).unwrap();
27 panel.attr_on(color_pair(BLUE_WHITE)).unwrap();
28
29 loop {
30 if let Some(Input::Character('q')) = pancake.get_char() {
31 break;
32 }
33
34 pancake.erase();
35 pancake.render_panel(&panel);
36 pancake.refresh();
37
38 sleep(SLEEP_TIME);
39 }
40
41 pancake.quit();
42}Auto Trait Implementations§
impl Freeze for Pancake
impl RefUnwindSafe for Pancake
impl !Send for Pancake
impl !Sync for Pancake
impl Unpin for Pancake
impl UnwindSafe for Pancake
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more