hello_world/
hello_world.rs1use rustui::*;
2use std::{thread, time};
3
4const RENDERING_RATE: time::Duration = time::Duration::from_millis(16); const INPUT_CAPTURING_RATE: time::Duration = time::Duration::from_millis(10); fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let mut win = Window::new(false)?;
9 win.initialize(RENDERING_RATE)?; let input_rx = InputListener::new(INPUT_CAPTURING_RATE); loop {
13 if let Ok(InputEvent::Key(Key::Char('q'))) = input_rx.try_recv() {
15 break; }
17
18 win.draw(|canvas| {
20 canvas.set_named_border(
21 "HELLO WORLD",
22 Align::Right,
23 Attr::NORMAL,
24 Color::White,
25 Color::default(),
26 ); canvas.set_str(
28 canvas.width / 2, canvas.height / 2,
30 "Hello, world! (Press 'q' to quit)",
31 Attr::NORMAL, Color::Green, Color::default(), Align::Center, );
36 })?;
37
38 thread::sleep(time::Duration::from_millis(100)); }
40 Ok(())
41}