context enter_alternate_screen leave_alternate_screen clear_screen

This commit is contained in:
ChristianVisintin
2020-12-19 21:39:31 +01:00
parent d0774fd7ed
commit 021f860ca6

View File

@@ -32,8 +32,8 @@ use super::input::InputHandler;
use crate::host::Localhost;
// Includes
use crossterm::execute;
use crossterm::event::DisableMouseCapture;
use crossterm::execute;
use crossterm::terminal::{EnterAlternateScreen, LeaveAlternateScreen};
use std::io::{stdout, Stdout, Write};
use tui::backend::CrosstermBackend;
@@ -59,9 +59,29 @@ impl Context {
Context {
local,
input_hnd: InputHandler::new(),
terminal: Terminal::new(CrosstermBackend::new(stdout)).unwrap()
terminal: Terminal::new(CrosstermBackend::new(stdout)).unwrap(),
}
}
pub fn enter_alternate_screen(&mut self) {
let _ = execute!(
self.terminal.backend_mut(),
EnterAlternateScreen,
DisableMouseCapture
);
}
pub fn leave_alternate_screen(&mut self) {
let _ = execute!(
self.terminal.backend_mut(),
LeaveAlternateScreen,
DisableMouseCapture
);
}
pub fn clear_screen(&mut self) {
let _ = self.terminal.clear();
}
}
impl Drop for Context {