summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2023-10-30 23:43:11 +0100
committerAnton Kling <anton@kling.gg>2023-10-31 00:18:38 +0100
commit63d78776b868725ed0b5072b9ff032aff670dbfe (patch)
tree8462909157c8460c090a967f3df8a5b5966550b6
parent352c4542e4064e821d30db875e82904ef44b1c92 (diff)
WindowServer: Make the mouse dotted to make it visible on all backgrounds
-rw-r--r--userland/windowserver/draw.c17
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];