Explorar el Código

test: Fix testcustomcursor on high-DPI displays

Use the backbuffer dimensions and scale the chessboard pattern to draw it filling the window on scaled displays.
Frank Praznik hace 11 meses
padre
commit
522321b7c9
Se han modificado 1 ficheros con 4 adiciones y 3 borrados
  1. 4 3
      test/testcustomcursor.c

+ 4 - 3
test/testcustomcursor.c

@@ -341,10 +341,11 @@ static void loop(void)
         SDL_FRect rect;
         int x, y, row;
         int window_w = 0, window_h = 0;
+        const float scale = SDL_GetWindowPixelDensity(state->windows[i]);
 
-        SDL_GetWindowSize(state->windows[i], &window_w, &window_h);
-        rect.w = 128.0f;
-        rect.h = 128.0f;
+        SDL_GetWindowSizeInPixels(state->windows[i], &window_w, &window_h);
+        rect.w = 128.0f * scale;
+        rect.h = 128.0f * scale;
         for (y = 0, row = 0; y < window_h; y += (int)rect.h, ++row) {
             bool black = ((row % 2) == 0) ? true : false;
             for (x = 0; x < window_w; x += (int)rect.w) {