From: John Tsiombikas Date: Mon, 3 Sep 2018 10:52:31 +0000 (+0300) Subject: mouse cursor drawing part2 X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosrtxon;a=commitdiff_plain;h=d6acf0b82bd026565f6b26bb00e42b4c126598dd mouse cursor drawing part2 --- 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)