From 35606a3daa7ee273845a12f3e03728e0ae23928e Mon Sep 17 00:00:00 2001 From: Blaž Hrastnik Date: Sun, 9 May 2021 17:52:55 +0900 Subject: Inline tui as helix-tui fork. We only rely on some of the rendering primitives and implement our Cursive-style compositor on top. --- helix-tui/src/backend/mod.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 helix-tui/src/backend/mod.rs (limited to 'helix-tui/src/backend/mod.rs') diff --git a/helix-tui/src/backend/mod.rs b/helix-tui/src/backend/mod.rs new file mode 100644 index 00000000..ed125200 --- /dev/null +++ b/helix-tui/src/backend/mod.rs @@ -0,0 +1,25 @@ +use std::io; + +use crate::buffer::Cell; +use crate::layout::Rect; + +#[cfg(feature = "crossterm")] +mod crossterm; +#[cfg(feature = "crossterm")] +pub use self::crossterm::CrosstermBackend; + +mod test; +pub use self::test::TestBackend; + +pub trait Backend { + fn draw<'a, I>(&mut self, content: I) -> Result<(), io::Error> + where + I: Iterator; + 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; + fn flush(&mut self) -> Result<(), io::Error>; +} -- cgit v1.2.3-70-g09d2