mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-28 21:07:59 +03:00
add borderless windows, deprecate fullscreen mode
This commit is contained in:
parent
45161d91c9
commit
05901a2480
13 changed files with 163 additions and 89 deletions
|
@ -1,6 +1,7 @@
|
|||
#include "sdlvideowrapper.hpp"
|
||||
|
||||
#include <components/debug/debuglog.hpp>
|
||||
#include <components/settings/settings.hpp>
|
||||
|
||||
#include <osgViewer/Viewer>
|
||||
|
||||
|
@ -68,21 +69,21 @@ namespace SDLUtil
|
|||
Log(Debug::Warning) << "Couldn't set gamma: " << SDL_GetError();
|
||||
}
|
||||
|
||||
void VideoWrapper::setVideoMode(int width, int height, bool fullscreen, bool windowBorder)
|
||||
void VideoWrapper::setVideoMode(int width, int height, Settings::WindowMode windowMode, bool windowBorder)
|
||||
{
|
||||
SDL_SetWindowFullscreen(mWindow, 0);
|
||||
|
||||
if (SDL_GetWindowFlags(mWindow) & SDL_WINDOW_MAXIMIZED)
|
||||
SDL_RestoreWindow(mWindow);
|
||||
|
||||
if (fullscreen)
|
||||
if (windowMode == Settings::WindowMode::Fullscreen || windowMode == Settings::WindowMode::BorderlessFullscreen)
|
||||
{
|
||||
SDL_DisplayMode mode;
|
||||
SDL_GetWindowDisplayMode(mWindow, &mode);
|
||||
mode.w = width;
|
||||
mode.h = height;
|
||||
SDL_SetWindowDisplayMode(mWindow, &mode);
|
||||
SDL_SetWindowFullscreen(mWindow, fullscreen);
|
||||
SDL_SetWindowFullscreen(mWindow, windowMode == Settings::WindowMode::Fullscreen ? SDL_WINDOW_FULLSCREEN : SDL_WINDOW_FULLSCREEN_DESKTOP);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -12,6 +12,11 @@ namespace osgViewer
|
|||
class Viewer;
|
||||
}
|
||||
|
||||
namespace Settings
|
||||
{
|
||||
enum class WindowMode;
|
||||
}
|
||||
|
||||
namespace SDLUtil
|
||||
{
|
||||
|
||||
|
@ -25,7 +30,7 @@ namespace SDLUtil
|
|||
|
||||
void setGammaContrast(float gamma, float contrast);
|
||||
|
||||
void setVideoMode(int width, int height, bool fullscreen, bool windowBorder);
|
||||
void setVideoMode(int width, int height, Settings::WindowMode windowMode, bool windowBorder);
|
||||
|
||||
void centerWindow();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue