mod crossterm;
pub use self::crossterm::CrosstermBackend;
use std::io;
use crate::cell::Cell;
pub trait Backend {
fn draw<'a, I>(&mut self, content: I) -> io::Result<()>
where
I: Iterator<Item = (u16, u16, &'a Cell)>;
fn hide_cursor(&mut self) -> io::Result<()>;
fn show_cursor(&mut self) -> io::Result<()>;
fn clear(&mut self) -> io::Result<()>;
fn size(&self) -> io::Result<(u16, u16)>;
fn flush(&mut self) -> io::Result<()>;
fn begin_sync(&mut self) -> io::Result<()> {
Ok(())
}
fn end_sync(&mut self) -> io::Result<()> {
Ok(())
}
}