From d977794bffbd94ab49d08eb06e691151a83bbdb3 Mon Sep 17 00:00:00 2001 From: Yohann Ferreira Date: Sun, 30 Jan 2005 14:09:10 +0000 Subject: Corrected Toggle fullscreen code, still need to handle resolution --- src/gui/setup.cpp | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp index 330315dc..6f7feb8f 100644 --- a/src/gui/setup.cpp +++ b/src/gui/setup.cpp @@ -139,18 +139,46 @@ void Setup::action(const std::string& eventId) sel = modeList->getSelected(); // Display settings - if (fsCheckBox->isMarked() && config.getValue("screen", 0) == 2) + if (fsCheckBox->isMarked() && config.getValue("screen", 0) == 0) { config.setValue("screen", 1); - SDL_WM_ToggleFullScreen(SDL_GetVideoSurface()); + #if __USE_UNIX98 + SDL_WM_ToggleFullScreen(screen); + + #else + int displayFlags = 0; + displayFlags |= SDL_FULLSCREEN; + if ((int)config.getValue("hwaccel", 0)) { + displayFlags |= SDL_HWSURFACE | SDL_DOUBLEBUF; + } + else { + displayFlags |= SDL_SWSURFACE; + } + screen = SDL_SetVideoMode(800, 600, 32, displayFlags); + #endif + + // FIXME : Need to handle resolution //set_gfx_mode(GFX_AUTODETECT_FULLSCREEN, // modes[sel].height, modes[sel].width, 0, 0); } else if (!fsCheckBox->isMarked() && config.getValue("screen", 0) == 1) { - config.setValue("screen", 2); - SDL_WM_ToggleFullScreen(SDL_GetVideoSurface()); + config.setValue("screen", 0); + #if __USE_UNIX98 + SDL_WM_ToggleFullScreen(screen); + + #else + int displayFlags = 0; + if ((int)config.getValue("hwaccel", 0)) { + displayFlags |= SDL_HWSURFACE | SDL_DOUBLEBUF; + } + else { + displayFlags |= SDL_SWSURFACE; + } + screen = SDL_SetVideoMode(800, 600, 32, displayFlags); + #endif + // FIXME : Need to handle resolution //set_gfx_mode(GFX_AUTODETECT_WINDOWED, // modes[sel].height, modes[sel].width, 0, 0); } -- cgit v1.2.3-70-g09d2