mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2026-09-18 05:16:44 +02:00
This commit is contained in:
parent
92f992e2e6
commit
8e7286e409
6 changed files with 123 additions and 47 deletions
12
src/term.rs
12
src/term.rs
|
|
@ -162,11 +162,11 @@ impl Tui {
|
|||
) -> Result<Task, std::io::Error> {
|
||||
let exited = exited.clone();
|
||||
let state = state.clone();
|
||||
Task::new_poll(exited.clone(), poll, move |_| {
|
||||
Task::new_poll(Some("tengri input"), exited.clone(), poll, move |_| {
|
||||
let event = read().unwrap();
|
||||
if Exit::is(&event) {
|
||||
exited.store(true, Relaxed);
|
||||
} else if let Err(e) = state.write().unwrap().apply(&TuiEvent(event)) {
|
||||
} else if let Err(e) = state.write().apply(&TuiEvent(event)) {
|
||||
panic!("{e}")
|
||||
}
|
||||
})
|
||||
|
|
@ -268,15 +268,15 @@ impl Tui {
|
|||
let Size { width, height } = backend.size().expect("get size failed");
|
||||
let mut prev = Tui::new(width, height);
|
||||
let mut next = Tui::new(width, height);
|
||||
Ok(Task::new_sleep(exited.clone(), sleep, move |perf| {
|
||||
Ok(Task::new_sleep(Some("tengri output"), exited.clone(), sleep, move |perf| {
|
||||
let Size { width, height } = backend.size().expect("get size failed");
|
||||
if let Ok(state) = state.try_read() {
|
||||
if let Some(state) = state.try_read() {
|
||||
prev.resize(&mut backend, width, height);
|
||||
state.draw(&mut next).expect("draw failed"); // TODO draw error
|
||||
prev.redraw(&mut backend, &mut next);
|
||||
}
|
||||
let timer = format!("{:>3.3}ms", perf.used.load(Relaxed));
|
||||
prev.blit(&timer, 0, 0, Some(Style::default()));
|
||||
//let timer = format!("{:>3.3}ms", perf.used.load(Relaxed));
|
||||
//prev.blit(&timer, 0, 0, Some(Style::default()));
|
||||
})?)
|
||||
}
|
||||
/// Draw TUI content or its error message.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue