1use animaterm::prelude::*;
2use animaterm::utilities::{message_box, progress_bar};
3
4fn main() {
5 let mut mgr = Manager::new(true, None, None, None, None, None);
6
7 let screen_size = mgr.screen_size();
8 let title = "Navigation help".to_string();
9 let text =
10 "Press 0 to select display 0\n Press 1 to select display 1\n Press q or Shift+q to quit\n"
11 .to_string();
12 let keep_existing = true;
13 let first_display_id = 0;
14 let mbox = message_box(Some(title.clone()), text.clone(), Glyph::default(), 32, 5);
15 let mbid = mgr
16 .add_graphic(mbox, 1, (1, screen_size.1 as isize - 6))
17 .unwrap();
18 mgr.set_graphic(mbid, 0, true);
19 let empty = Glyph::new(
20 ' ',
21 Color::green(),
22 Color::black(),
23 false,
24 false,
25 false,
26 false,
27 false,
28 false,
29 false,
30 false,
31 false,
32 false,
33 );
34 let full = Glyph::new(
35 'X',
36 Color::green(),
37 Color::black(),
38 false,
39 false,
40 false,
41 false,
42 false,
43 false,
44 false,
45 false,
46 false,
47 false,
48 );
49 let gid = mgr
50 .add_graphic(progress_bar(screen_size.0, empty, full, None), 0, (1, 1))
51 .unwrap();
52 mgr.start_animation(gid, 0);
53 let second_display_id = mgr.new_display(keep_existing);
54 let mbox = message_box(Some(title), text, Glyph::default(), 32, 5);
59 let mbid = mgr
60 .add_graphic(mbox, 1, (1, screen_size.1 as isize - 6))
61 .unwrap();
62 mgr.set_graphic(mbid, 0, true);
63
64 let mut keep_running = true;
65 while keep_running {
66 if let Some(key) = mgr.read_key() {
67 match key {
68 Key::Zero => mgr.restore_display(first_display_id, true),
69 Key::One => mgr.restore_display(second_display_id, true),
70 Key::Two => mgr.restore_display(2, true),
71 Key::Q | Key::ShiftQ => {
72 keep_running = false;
73 }
74 _ => continue,
75 }
76 }
77 }
78
79 mgr.terminate();
80}