blob: ce372f936cc6fbe7069e3943fee4b52fc8ea6374 [file] [log] [blame]
use wasm_bindgen::prelude::*;
use crossterm::{
event::{DisableMouseCapture, EnableMouseCapture },
execute,
terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen},
};
use std::{error::Error, io};
use tui::{
backend::{CrosstermBackend},
layout::{Alignment},
widgets::{Block, BorderType, Borders},
Terminal,
};
fn main() -> Result<(), Box<dyn Error>> {
enable_raw_mode()?;
let mut stdout = io::stdout();
execute!(stdout, EnterAlternateScreen, EnableMouseCapture)?;
let backend = CrosstermBackend::new(stdout);
let mut terminal = Terminal::new(backend)?;
let mut i: i32 = 0;
loop {
terminal.draw(|f| {
let size = f.size();
let block = Block::default()
.borders(Borders::ALL)
.title("Main block with round corners")
.title_alignment(Alignment::Center)
.border_type(BorderType::Rounded);
f.render_widget(block, size);
})?;
i = i + 1;
if i > 1000 {
break;
}
}
// restore terminal
disable_raw_mode()?;
execute!(
terminal.backend_mut(),
LeaveAlternateScreen,
DisableMouseCapture
)?;
terminal.show_cursor()?;
Ok(())
}
// foo
#[wasm_bindgen]
extern "C" {
fn hello(s: &str);
}
struct Unused<T>(T);
#[no_mangle]
pub extern "C" fn run() {
Unused(main());
}