From acd526d2a88aa8cbf6319806ca581130558a29bb Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 22 Sep 2016 17:11:42 -0600 Subject: [PATCH] Add cursor --- drivers/vesad/src/main.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/vesad/src/main.rs b/drivers/vesad/src/main.rs index 207ad78..f022a74 100644 --- a/drivers/vesad/src/main.rs +++ b/drivers/vesad/src/main.rs @@ -65,13 +65,20 @@ impl Scheme for DisplayScheme { Ok(buf.len()) } else { 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 { 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::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()) } }