Skip to main content

x/
x.rs

1tui_rule::gen_example_code!(
2    fn run(
3        terminal: &mut DefaultTerminal,
4    ) -> io::Result<()> {
5        loop {
6            terminal.draw(|f| {
7                let block = Block::bordered().title_top(
8                    Line::from(generate_gradient_text!(
9                        "ASCII",
10                        colorgrad::preset::warm()
11                    ))
12                    .centered(),
13                );
14                use presets::borders::plain::*;
15                let marg =
16                    ratatui::layout::Margin::new(0, 0);
17                let right = Rule::from_set(RIGHT)
18                    .area_margin(marg)
19                    .horizontal_alignment(Alignment::Right)
20                    .vertical();
21                let left = Rule::from_set(LEFT)
22                    .area_margin(marg)
23                    .horizontal_alignment(Alignment::Left)
24                    .vertical();
25                let top = Rule::from_set(TOP).area_margin(marg).vertical_alignment(VerticalAlignment::Top);
26                let bottom = Rule::from_set(BOTTOM).area_margin(marg).vertical_alignment(VerticalAlignment::Bottom);
27                f.render_widget(right, f.area());
28                f.render_widget(left, f.area());
29                f.render_widget(top, f.area());
30                f.render_widget(bottom, f.area());
31            })?;
32            let event = event::read()?;
33            if let Event::Key(key_event) = event {
34                if key_event.kind == KeyEventKind::Press {
35                    match key_event.code {
36                        KeyCode::Char('q') => {
37                            break Ok(());
38                        }
39                        _ => {}
40                    }
41                }
42            }
43        }
44    }
45);