Browse Source

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 11 tháng trước cách đây
mục cha
commit
522321b7c9
1 tập tin đã thay đổi với 4 bổ sung3 xóa
  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) {