From b0ead07f61ceffabf6487d3cddebd123a5afd298 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 24 Apr 2020 21:53:30 +0200 Subject: [PATCH] fix issue 15? --- app/src/screen.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/screen.c b/app/src/screen.c index a9019172..2781d1f5 100644 --- a/app/src/screen.c +++ b/app/src/screen.c @@ -519,11 +519,24 @@ screen_resize_to_pixel_perfect(struct screen *screen) { content_size.height); } +static void +screen_reset_logical_size(struct screen *screen) { + // Re-apply the current logical size. + if (SDL_RenderSetLogicalSize(screen->renderer, screen->content_size.width, + screen->content_size.height)) { + LOGE("Could not reset renderer logical size: %s", SDL_GetError()); + } +} + void screen_handle_window_event(struct screen *screen, const SDL_WindowEvent *event) { switch (event->event) { case SDL_WINDOWEVENT_EXPOSED: + // Re-apply the current logical size, in case the window has been + // moved to a screen with a different HiDPI scaling + // + screen_reset_logical_size(screen); screen_render(screen); break; case SDL_WINDOWEVENT_SIZE_CHANGED: