simple/
simple.rs

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}