From d6acf0b82bd026565f6b26bb00e42b4c126598dd Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Mon, 3 Sep 2018 13:52:31 +0300 Subject: [PATCH] mouse cursor drawing part2 --- src/demo.c | 84 +++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 35 deletions(-) diff --git a/src/demo.c b/src/demo.c index 7d927ea..06b33f3 100644 --- a/src/demo.c +++ b/src/demo.c @@ -111,41 +111,55 @@ void demo_draw(void) void draw_mouse_pointer(uint16_t *fb) { uint16_t *dest = fb + mouse_y * FB_WIDTH + mouse_x; - - DEST(0, 0) = 0xffff; - DEST(1, 1) = 0xffff; - DEST(2, 2) = 0xffff; - DEST(3, 3) = 0xffff; - DEST(4, 4) = 0xffff; - DEST(5, 5) = 0xffff; - DEST(6, 6) = 0xffff; - DEST(0, 1) = 0xffff; - DEST(0, 2) = 0xffff; - DEST(0, 3) = 0xffff; - DEST(0, 4) = 0xffff; - DEST(0, 5) = 0xffff; - DEST(0, 6) = 0xffff; - DEST(0, 7) = 0xffff; - DEST(0, 8) = 0xffff; - DEST(0, 9) = 0xffff; - DEST(1, 8) = 0xffff; - DEST(2, 7) = 0xffff; - DEST(3, 6) = 0xffff; - DEST(4, 6) = 0xffff; - DEST(5, 6) = 0xffff; - DEST(1, 2) = 0; - DEST(1, 3) = 0; - DEST(2, 3) = 0; - DEST(1, 4) = 0; - DEST(2, 4) = 0; - DEST(3, 4) = 0; - DEST(1, 5) = 0; - DEST(2, 5) = 0; - DEST(3, 5) = 0; - DEST(4, 5) = 0; - DEST(1, 6) = 0; - DEST(2, 6) = 0; - DEST(1, 7) = 0; + int ylines = FB_HEIGHT - mouse_y; + + switch(ylines) { + default: + case 10: + DEST(0, 9) = 0xffff; + case 9: + DEST(0, 8) = 0xffff; + DEST(1, 8) = 0xffff; + case 8: + DEST(0, 7) = 0xffff; + DEST(2, 7) = 0xffff; + DEST(1, 7) = 0; + case 7: + DEST(6, 6) = 0xffff; + DEST(0, 6) = 0xffff; + DEST(3, 6) = 0xffff; + DEST(4, 6) = 0xffff; + DEST(5, 6) = 0xffff; + DEST(1, 6) = 0; + DEST(2, 6) = 0; + case 6: + DEST(5, 5) = 0xffff; + DEST(0, 5) = 0xffff; + DEST(1, 5) = 0; + DEST(2, 5) = 0; + DEST(3, 5) = 0; + DEST(4, 5) = 0; + case 5: + DEST(4, 4) = 0xffff; + DEST(0, 4) = 0xffff; + DEST(1, 4) = 0; + DEST(2, 4) = 0; + DEST(3, 4) = 0; + case 4: + DEST(3, 3) = 0xffff; + DEST(0, 3) = 0xffff; + DEST(1, 3) = 0; + DEST(2, 3) = 0; + case 3: + DEST(2, 2) = 0xffff; + DEST(0, 2) = 0xffff; + DEST(1, 2) = 0; + case 2: + DEST(1, 1) = 0xffff; + DEST(0, 1) = 0xffff; + case 1: + DEST(0, 0) = 0xffff; + } } static void change_screen(int idx) -- 1.7.10.4