From 4490ced4e32f47863539d1d346e1619ba581322b Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 13 Nov 2021 15:23:43 -0500 Subject: add move_relative --- src/lib.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index 2f3f0c8..67c0676 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -122,6 +122,31 @@ pub trait Textmode: private::Output { self.write(b"H"); } + fn move_relative(&mut self, row_offset: i16, col_offset: i16) { + let abs_row_offset = row_offset.unsigned_abs(); + let abs_col_offset = col_offset.unsigned_abs(); + if row_offset > 0 { + self.write(b"\x1b["); + self.write_u16(abs_row_offset); + self.write(b"B") + } + if row_offset < 0 { + self.write(b"\x1b["); + self.write_u16(abs_row_offset); + self.write(b"A") + } + if col_offset > 0 { + self.write(b"\x1b["); + self.write_u16(abs_col_offset); + self.write(b"C") + } + if col_offset < 0 { + self.write(b"\x1b["); + self.write_u16(abs_col_offset); + self.write(b"D") + } + } + /// Clears the in-memory screen. fn clear(&mut self) { self.write(b"\x1b[2J"); -- cgit v1.2.3-54-g00ecf