hide cursor

This commit is contained in:
🪞👃🪞 2024-09-06 23:35:56 +03:00
parent 4855609a7d
commit ff97070a03
2 changed files with 7 additions and 7 deletions

View file

@ -1,6 +1,6 @@
use crate::*;
/// Compute drawing area before rendering
/// Trait for structs that compute drawing area before rendering
pub trait Layout<E: Engine>: Render<E> {
fn layout (&self, area: impl Rectangle<E::Unit>) -> Perhaps<impl Rectangle<E::Unit>>;
}

View file

@ -10,12 +10,9 @@ use crossterm::terminal::{
EnterAlternateScreen, LeaveAlternateScreen,
enable_raw_mode, disable_raw_mode
};
submod! {
tui_border
tui_buffer
tui_colors
tui_layout
}
submod! { tui_border tui_buffer tui_colors tui_layout }
pub struct Tui {
exited: Arc<AtomicBool>,
buffer: usize,
@ -24,6 +21,7 @@ pub struct Tui {
event: RwLock<Option<TuiEvent>>,
area: Rect,
}
impl Engine for Tui {
type Unit = u16;
type Area = Rect;
@ -42,10 +40,12 @@ impl Engine for Tui {
better_panic_handler(info);
}));
stdout().execute(EnterAlternateScreen)?;
self.backend.hide_cursor()?;
enable_raw_mode().map_err(Into::into)
}
fn teardown (&mut self) -> Usually<()> {
stdout().execute(LeaveAlternateScreen)?;
self.backend.show_cursor()?;
disable_raw_mode().map_err(Into::into)
}
// FIXME