blob: ce372f936cc6fbe7069e3943fee4b52fc8ea6374 [file] [log] [blame]
giolekva0990ccf2022-05-13 16:12:38 +04001use wasm_bindgen::prelude::*;
2use crossterm::{
3 event::{DisableMouseCapture, EnableMouseCapture },
4 execute,
5 terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen},
6};
7use std::{error::Error, io};
8use tui::{
9 backend::{CrosstermBackend},
10 layout::{Alignment},
11 widgets::{Block, BorderType, Borders},
12 Terminal,
13};
14
15fn main() -> Result<(), Box<dyn Error>> {
16 enable_raw_mode()?;
17 let mut stdout = io::stdout();
18 execute!(stdout, EnterAlternateScreen, EnableMouseCapture)?;
19
20 let backend = CrosstermBackend::new(stdout);
21 let mut terminal = Terminal::new(backend)?;
22 let mut i: i32 = 0;
23 loop {
24 terminal.draw(|f| {
25 let size = f.size();
26 let block = Block::default()
27 .borders(Borders::ALL)
28 .title("Main block with round corners")
29 .title_alignment(Alignment::Center)
30 .border_type(BorderType::Rounded);
31 f.render_widget(block, size);
32 })?;
33 i = i + 1;
34 if i > 1000 {
35 break;
36 }
37 }
38 // restore terminal
39 disable_raw_mode()?;
40 execute!(
41 terminal.backend_mut(),
42 LeaveAlternateScreen,
43 DisableMouseCapture
44 )?;
45 terminal.show_cursor()?;
46
47 Ok(())
48}
49
50// foo
51
52#[wasm_bindgen]
53extern "C" {
54 fn hello(s: &str);
55}
56
57struct Unused<T>(T);
58
59#[no_mangle]
60pub extern "C" fn run() {
61 Unused(main());
62}