1extern crate bear_lib_terminal;
2
3use bear_lib_terminal::Color;
4use bear_lib_terminal::geometry::Point;
5use bear_lib_terminal::terminal::{self, config, Event, KeyCode};
6
7
8fn main() {
9 terminal::open("Simple example", 80, 30);
10 terminal::set(config::Window::empty().resizeable(true));
11
12 terminal::print_xy(0, 0, "Your mom");
13 terminal::with_colors(Color::from_rgb(0xFA, 0xAF, 0x29), Color::from_rgb(0x05, 0x50, 0xD6), || terminal::print_xy(0, 1, "Colerd"));
14 for (i, c) in "Coloured letters with pixel-offset!".chars().enumerate() {
15 terminal::put_ext(Point::new(i as i32, 2), Point::new(i as i32, i as i32), c, &vec![Color::from_rgb(0xFF, 0x00, 0x00),
16 Color::from_rgb(0x00, 0xFF, 0x00),
17 Color::from_rgb(0x00, 0x00, 0xFF),
18 Color::from_rgb(0xFF, 0xFF, 0xFF)]);
19 }
20 terminal::refresh();
21
22 terminal::set_foreground(Color::from_rgb(0xFF, 0xFF, 0xFF));
23 if let Some(string) = terminal::read_str(Point::new(0, 5), 30) {
24 terminal::print_xy(0, 5, &*&string);
25 }
26 terminal::refresh();
27 for event in terminal::events() {
28 match event {
29 Event::Resize{width, height} => {
30 terminal::print_xy(0, 0, &*&format!("Width: {}\nHeight: {}", width, height));
31 terminal::refresh();
32 },
33 Event::Close | Event::KeyPressed{key: KeyCode::Escape, ctrl: _, shift: _} => break,
34 _ => (),
35 }
36 }
37 terminal::close();
38}