From d869701be81c8ff57ddad09e6f1c6d5a6d8f6d4d Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 29 Sep 2012 01:12:40 -0700 Subject: [PATCH] If the window is resizable, reset the viewport by default if the window size changes. --- test/common.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/common.c b/test/common.c index 0d8f98fc9..3eaf80a87 100644 --- a/test/common.c +++ b/test/common.c @@ -1058,6 +1058,24 @@ CommonEvent(CommonState * state, SDL_Event * event, int *done) switch (event->type) { case SDL_WINDOWEVENT: switch (event->window.event) { + case SDL_WINDOWEVENT_SIZE_CHANGED: + { + SDL_Window *window = SDL_GetWindowFromID(event->window.windowID); + if (window) { + for (i = 0; i < state->num_windows; ++i) { + if (window == state->windows[i] && + (state->window_flags & SDL_WINDOW_RESIZABLE)) { + SDL_Rect viewport; + + viewport.x = 0; + viewport.y = 0; + SDL_GetWindowSize(window, &viewport.w, &viewport.h); + SDL_RenderSetViewport(state->renderers[i], &viewport); + } + } + } + } + break; case SDL_WINDOWEVENT_CLOSE: { SDL_Window *window = SDL_GetWindowFromID(event->window.windowID);