If the window is resizable, reset the viewport by default if the window size changes.
This commit is contained in:
parent
316add4b4b
commit
431fcd7fca
1 changed files with 18 additions and 0 deletions
|
@ -1058,6 +1058,24 @@ CommonEvent(CommonState * state, SDL_Event * event, int *done)
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case SDL_WINDOWEVENT:
|
case SDL_WINDOWEVENT:
|
||||||
switch (event->window.event) {
|
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:
|
case SDL_WINDOWEVENT_CLOSE:
|
||||||
{
|
{
|
||||||
SDL_Window *window = SDL_GetWindowFromID(event->window.windowID);
|
SDL_Window *window = SDL_GetWindowFromID(event->window.windowID);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue