diff options
author | Anton Kling <anton@kling.gg> | 2023-10-30 23:43:11 +0100 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2023-10-31 00:18:38 +0100 |
commit | 63d78776b868725ed0b5072b9ff032aff670dbfe (patch) | |
tree | 8462909157c8460c090a967f3df8a5b5966550b6 | |
parent | 352c4542e4064e821d30db875e82904ef44b1c92 (diff) |
WindowServer: Make the mouse dotted to make it visible on all backgrounds
-rw-r--r-- | userland/windowserver/draw.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/userland/windowserver/draw.c b/userland/windowserver/draw.c index 2272506..7e07305 100644 --- a/userland/windowserver/draw.c +++ b/userland/windowserver/draw.c @@ -15,9 +15,17 @@ int my; void update_display(const DISPLAY *disp) { for (int i = 0; i < 20; i++) { - place_pixel(0xFFFFFFFF, mx + i, my + i); - place_pixel(0xFFFFFFFF, mx, my + i / 2); - place_pixel(0xFFFFFFFF, mx + i / 2, my); + uint32_t color = 0xFFFFFFFF; + // Make every other pixel black to make the mouse more visible on all + // backgrounds. + if (i & 1) { + color = 0x0; + } + place_pixel(color, mx + i, my + i); + if (i <= 10) { + place_pixel(color, mx, my + i); + place_pixel(color, mx + i, my); + } } uint32_t *dst = disp->true_buffer; uint32_t *src = disp->back_buffer; @@ -90,7 +98,8 @@ void draw_window(DISPLAY *disp, const WINDOW *w) { for (int i = 0; i < sy; i++) { if ((i + py) * disp->width + px > disp->height * disp->width) break; - uint32_t *ptr = disp->back_buffer + disp->bpp * ((i + py) * disp->width) + px * disp->bpp; + uint32_t *ptr = disp->back_buffer + disp->bpp * ((i + py) * disp->width) + + px * disp->bpp; if (i * sx > disp->height * disp->width) break; uint32_t *bm = &w->bitmap_ptr[i * sx]; |