Merge 6fe57dec0d8c5845b03cc86fb9931840dd6e2293 into b00d3b9eb98be4fa2eca7ae9d88f96d28796e4f0

This commit is contained in:
boost2017 2025-03-24 21:44:28 +01:00 committed by GitHub
commit 334c333a98
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 0 deletions

View File

@ -142,6 +142,14 @@ Window& Window::SetFullscreen(Uint32 flags) {
return *this;
}
Window& Window::ToggleFullscreen() {
Uint32 const fullscreenFlag = SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP;
bool const isFullscreen = SDL_GetWindowFlags(window_) & fullscreenFlag;
if (SDL_SetWindowFullscreen(window_, isFullscreen ? SDL_FALSE : SDL_WINDOW_FULLSCREEN_DESKTOP) != 0)
throw Exception("SDL_SetWindowFullscreen");
return *this;
}
Window& Window::SetSize(int w, int h) {
SDL_SetWindowSize(window_, w, h);
return *this;

View File

@ -302,6 +302,18 @@ public:
////////////////////////////////////////////////////////////
Window& SetFullscreen(Uint32 flags);
////////////////////////////////////////////////////////////
/// \brief Toggle the window's fullscreen state
///
/// \returns Reference to self
///
/// \throws SDL2pp::Exception
///
/// \see http://wiki.libsdl.org/SDL_SetWindowFullscreen
///
////////////////////////////////////////////////////////////
Window& ToggleFullscreen();
////////////////////////////////////////////////////////////
/// \brief Set the size of a window's client area
///