From d40695115f8fa5d7c81ac5bc5e8b0188d040b3b5 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 3 Jun 2023 23:24:21 -0700 Subject: [PATCH] Cleaned up Alt-Enter/Ctrl-Enter fullscreen toggle logic Alt-Enter will go from the current state to fullscreen desktop, or if already there, will leave fullscreen mode. Ctrl-Enter will go from the current state to exclusive fullscreen mode, or if already there, will leave fullscreen mode. --- src/test/SDL_test_common.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/test/SDL_test_common.c b/src/test/SDL_test_common.c index 7533d0446..d77b65212 100644 --- a/src/test/SDL_test_common.c +++ b/src/test/SDL_test_common.c @@ -2186,10 +2186,12 @@ void SDLTest_CommonEvent(SDLTest_CommonState *state, SDL_Event *event, int *done SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); if (window) { Uint32 flags = SDL_GetWindowFlags(window); - if (flags & SDL_WINDOW_FULLSCREEN) { - SDL_SetWindowFullscreen(window, SDL_FALSE); - } else { + if (!(flags & SDL_WINDOW_FULLSCREEN) || + !SDL_GetWindowFullscreenMode(window)) { + SDL_SetWindowFullscreenMode(window, &state->fullscreen_mode); SDL_SetWindowFullscreen(window, SDL_TRUE); + } else { + SDL_SetWindowFullscreen(window, SDL_FALSE); } } } else if (withAlt) { @@ -2197,23 +2199,13 @@ void SDLTest_CommonEvent(SDLTest_CommonState *state, SDL_Event *event, int *done SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); if (window) { Uint32 flags = SDL_GetWindowFlags(window); - if (flags & SDL_WINDOW_FULLSCREEN) { - SDL_SetWindowFullscreen(window, SDL_FALSE); - } else { + if (!(flags & SDL_WINDOW_FULLSCREEN) || + SDL_GetWindowFullscreenMode(window)) { SDL_SetWindowFullscreenMode(window, NULL); SDL_SetWindowFullscreen(window, SDL_TRUE); - } - } - } else if (withShift) { - /* Shift-Enter toggle fullscreen desktop / fullscreen */ - SDL_Window *window = SDL_GetWindowFromID(event->key.windowID); - if (window) { - if (SDL_GetWindowFullscreenMode(window)) { - SDL_SetWindowFullscreenMode(window, NULL); } else { - SDL_SetWindowFullscreenMode(window, &state->fullscreen_mode); + SDL_SetWindowFullscreen(window, SDL_FALSE); } - SDL_SetWindowFullscreen(window, SDL_TRUE); } }