Add cursor

This commit is contained in:
Jeremy Soller 2016-09-22 17:11:42 -06:00
parent e4490b06de
commit acd526d2a8

View file

@ -65,13 +65,20 @@ impl Scheme for DisplayScheme {
Ok(buf.len()) Ok(buf.len())
} else { } else {
let mut display = self.display.borrow_mut(); let mut display = self.display.borrow_mut();
self.console.borrow_mut().write(buf, |event| { let mut console = self.console.borrow_mut();
if console.x < console.w && console.y < console.h {
display.rect(console.x * 8, console.y * 16, 8, 16, 0);
}
console.write(buf, |event| {
match event { match event {
Event::Char { x, y, c, color, bold, .. } => display.char(x * 8, y * 16, c, color.data, bold, false), Event::Char { x, y, c, color, bold, .. } => display.char(x * 8, y * 16, c, color.data, bold, false),
Event::Rect { x, y, w, h, color } => display.rect(x * 8, y * 16, w * 8, h * 16, color.data), Event::Rect { x, y, w, h, color } => display.rect(x * 8, y * 16, w * 8, h * 16, color.data),
Event::Scroll { rows, color } => display.scroll(rows * 16, color.data) Event::Scroll { rows, color } => display.scroll(rows * 16, color.data)
} }
}); });
if console.x < console.w && console.y < console.h {
display.rect(console.x * 8, console.y * 16, 8, 16, 0xFFFFFF);
}
Ok(buf.len()) Ok(buf.len())
} }
} }