This commit is contained in:
Romain Vimont 2020-05-18 16:16:36 +02:00
parent fe2ef83a1e
commit 3b41c6dd62

View File

@ -162,6 +162,10 @@ screen_update_content_rect(struct screen *screen) {
int dh; int dh;
SDL_GL_GetDrawableSize(screen->window, &dw, &dh); SDL_GL_GetDrawableSize(screen->window, &dw, &dh);
int ww, wh;
SDL_GetWindowSize(screen->window, &ww, &wh);
LOGI("update_content_rect: window=%dx%d, drawable=%dx%d", ww, wh, dw, dh);
struct size content_size = screen->content_size; struct size content_size = screen->content_size;
// The drawable size is the window size * the HiDPI scale // The drawable size is the window size * the HiDPI scale
struct size drawable_size = {dw, dh}; struct size drawable_size = {dw, dh};
@ -551,15 +555,19 @@ screen_handle_window_event(struct screen *screen,
const SDL_WindowEvent *event) { const SDL_WindowEvent *event) {
switch (event->event) { switch (event->event) {
case SDL_WINDOWEVENT_EXPOSED: case SDL_WINDOWEVENT_EXPOSED:
LOGI("EXPOSED");
screen_render(screen, true); screen_render(screen, true);
break; break;
case SDL_WINDOWEVENT_SIZE_CHANGED: case SDL_WINDOWEVENT_SIZE_CHANGED:
LOGI("SIZE_CHANGED %dx%d", event->data1, event->data2);
screen_render(screen, true); screen_render(screen, true);
break; break;
case SDL_WINDOWEVENT_MAXIMIZED: case SDL_WINDOWEVENT_MAXIMIZED:
LOGI("MAXIMIZED");
screen->maximized = true; screen->maximized = true;
break; break;
case SDL_WINDOWEVENT_RESTORED: case SDL_WINDOWEVENT_RESTORED:
LOGI("RESTORED");
if (screen->fullscreen) { if (screen->fullscreen) {
// On Windows, in maximized+fullscreen, disabling fullscreen // On Windows, in maximized+fullscreen, disabling fullscreen
// mode unexpectedly triggers the "restored" then "maximized" // mode unexpectedly triggers the "restored" then "maximized"