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

View file

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