Merge pull request #22 from MovingtoMars/move_cursor

add move_cursor_{left,right} to TermWrite
This commit is contained in:
ticki 2016-06-11 12:15:04 +02:00 committed by GitHub
commit 9acd4852c6
1 changed files with 26 additions and 0 deletions

View File

@ -43,6 +43,32 @@ pub trait TermWrite {
fn hide_cursor(&mut self) -> io::Result<usize> { fn hide_cursor(&mut self) -> io::Result<usize> {
self.csi(b"?25l") self.csi(b"?25l")
} }
/// Move the cursor `num` spaces to the left.
fn move_cursor_left(&mut self, num: u32) -> io::Result<usize> {
if num > 0 {
self.csi(&[b'0' + (num / 10000) as u8,
b'0' + (num / 1000) as u8 % 10,
b'0' + (num / 100) as u8 % 10,
b'0' + (num / 10) as u8 % 10,
b'0' + num as u8 % 10,
b'C'])
} else {
Ok(0)
}
}
/// Move the cursor `num` spaces to the right.
fn move_cursor_right(&mut self, num: u32) -> io::Result<usize> {
if num > 0 {
self.csi(&[b'0' + (num / 10000) as u8,
b'0' + (num / 1000) as u8 % 10,
b'0' + (num / 100) as u8 % 10,
b'0' + (num / 10) as u8 % 10,
b'0' + num as u8 % 10,
b'D'])
} else {
Ok(0)
}
}
// TODO // TODO
// fn mode // fn mode