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);