diff options
| author | Conrad Ludgate <conradludgate@gmail.com> | 2023-02-10 17:25:43 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-10 17:25:43 +0000 |
| commit | edda1b741a4a0816eb6e62eafd69fc9896603cf5 (patch) | |
| tree | cc5cb45caecc4fbe6b34e08f2347fdfdf897d0b5 /src/tui/backend/mod.rs | |
| parent | Bump debian from bullseye-20221205-slim to bullseye-20230208-slim (#701) (diff) | |
| download | atuin-edda1b741a4a0816eb6e62eafd69fc9896603cf5.zip | |
crossterm support (#331)
* crossterm v2
* patch crossterm
* fix-version
* no more tui dependency
* lints
Diffstat (limited to 'src/tui/backend/mod.rs')
| -rw-r--r-- | src/tui/backend/mod.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/tui/backend/mod.rs b/src/tui/backend/mod.rs new file mode 100644 index 00000000..1a197e79 --- /dev/null +++ b/src/tui/backend/mod.rs @@ -0,0 +1,20 @@ +use std::io; + +use crate::tui::buffer::Cell; +use crate::tui::layout::Rect; + +mod crossterm; +pub use self::crossterm::CrosstermBackend; + +pub trait Backend { + fn draw<'a, I>(&mut self, content: I) -> Result<(), io::Error> + where + I: Iterator<Item = (u16, u16, &'a Cell)>; + fn hide_cursor(&mut self) -> Result<(), io::Error>; + fn show_cursor(&mut self) -> Result<(), io::Error>; + fn get_cursor(&mut self) -> Result<(u16, u16), io::Error>; + fn set_cursor(&mut self, x: u16, y: u16) -> Result<(), io::Error>; + fn clear(&mut self) -> Result<(), io::Error>; + fn size(&self) -> Result<Rect, io::Error>; + fn flush(&mut self) -> Result<(), io::Error>; +} |
