diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/base-backend.cpp | 6 | ||||
-rw-r--r-- | backends/base-backend.h | 2 | ||||
-rw-r--r-- | backends/graphics/graphics.h | 1 | ||||
-rw-r--r-- | backends/graphics/opengl/opengl-graphics.cpp | 4 | ||||
-rw-r--r-- | backends/graphics/opengl/opengl-graphics.h | 1 | ||||
-rw-r--r-- | backends/graphics/sdl/sdl-graphics.cpp | 4 | ||||
-rw-r--r-- | backends/graphics/sdl/sdl-graphics.h | 1 | ||||
-rw-r--r-- | backends/modular-backend.cpp | 4 | ||||
-rw-r--r-- | backends/modular-backend.h | 1 |
9 files changed, 24 insertions, 0 deletions
diff --git a/backends/base-backend.cpp b/backends/base-backend.cpp index 86d2e8c2c8..aa08e94c32 100644 --- a/backends/base-backend.cpp +++ b/backends/base-backend.cpp @@ -92,3 +92,9 @@ AudioCDManager *BaseBackend::getAudioCDManager() { s_audiocdManager = new DefaultAudioCDManager(); return (AudioCDManager *)s_audiocdManager; } + +void BaseBackend::resetGraphicsScale() { + // As a hack, we use 0 here. Backends should override this method + // and provide their own. + setGraphicsMode(0); +} diff --git a/backends/base-backend.h b/backends/base-backend.h index d7c3579eb0..bcacde9aad 100644 --- a/backends/base-backend.h +++ b/backends/base-backend.h @@ -40,6 +40,8 @@ public: virtual Common::WriteStream *createConfigWriteStream(); virtual AudioCDManager *getAudioCDManager(); + + virtual void resetGraphicsScale(); }; diff --git a/backends/graphics/graphics.h b/backends/graphics/graphics.h index 0a123d2cb4..d2ce6534e1 100644 --- a/backends/graphics/graphics.h +++ b/backends/graphics/graphics.h @@ -45,6 +45,7 @@ public: virtual const OSystem::GraphicsMode *getSupportedGraphicsModes() const = 0; virtual int getDefaultGraphicsMode() const = 0; virtual bool setGraphicsMode(int mode) = 0; + virtual void resetGraphicsScale() = 0; virtual int getGraphicsMode() const = 0; #ifdef USE_RGB_COLOR virtual Graphics::PixelFormat getScreenFormat() const = 0; diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp index 0526a791ee..11ac5f0fce 100644 --- a/backends/graphics/opengl/opengl-graphics.cpp +++ b/backends/graphics/opengl/opengl-graphics.cpp @@ -168,6 +168,10 @@ int OpenGLGraphicsManager::getGraphicsMode() const { return _videoMode.mode; } +void OpenGLGraphicsManager::resetGraphicsScale() { + setScale(1); +} + #ifdef USE_RGB_COLOR Graphics::PixelFormat OpenGLGraphicsManager::getScreenFormat() const { diff --git a/backends/graphics/opengl/opengl-graphics.h b/backends/graphics/opengl/opengl-graphics.h index ee14df836e..88bcfe564b 100644 --- a/backends/graphics/opengl/opengl-graphics.h +++ b/backends/graphics/opengl/opengl-graphics.h @@ -59,6 +59,7 @@ public: virtual int getDefaultGraphicsMode() const; virtual bool setGraphicsMode(int mode); virtual int getGraphicsMode() const; + virtual void resetGraphicsScale(); #ifdef USE_RGB_COLOR virtual Graphics::PixelFormat getScreenFormat() const; virtual Common::List<Graphics::PixelFormat> getSupportedFormats() const = 0; diff --git a/backends/graphics/sdl/sdl-graphics.cpp b/backends/graphics/sdl/sdl-graphics.cpp index 2d61cec185..a6cf5c54dd 100644 --- a/backends/graphics/sdl/sdl-graphics.cpp +++ b/backends/graphics/sdl/sdl-graphics.cpp @@ -248,6 +248,10 @@ int SdlGraphicsManager::getDefaultGraphicsMode() const { return GFX_DOUBLESIZE; } +void SdlGraphicsManager::resetGraphicsScale() { + setGraphicsMode(s_gfxModeSwitchTable[_scalerType][0]); +} + void SdlGraphicsManager::beginGFXTransaction() { assert(_transactionMode == kTransactionNone); diff --git a/backends/graphics/sdl/sdl-graphics.h b/backends/graphics/sdl/sdl-graphics.h index 52c30f5e00..e2ad4b525d 100644 --- a/backends/graphics/sdl/sdl-graphics.h +++ b/backends/graphics/sdl/sdl-graphics.h @@ -86,6 +86,7 @@ public: virtual int getDefaultGraphicsMode() const; virtual bool setGraphicsMode(int mode); virtual int getGraphicsMode() const; + virtual void resetGraphicsScale(); #ifdef USE_RGB_COLOR virtual Graphics::PixelFormat getScreenFormat() const { return _screenFormat; } virtual Common::List<Graphics::PixelFormat> getSupportedFormats() const; diff --git a/backends/modular-backend.cpp b/backends/modular-backend.cpp index e7d0764c11..be488f0190 100644 --- a/backends/modular-backend.cpp +++ b/backends/modular-backend.cpp @@ -91,6 +91,10 @@ int ModularBackend::getGraphicsMode() const { return _graphicsManager->getGraphicsMode(); } +void ModularBackend::resetGraphicsScale() { + _graphicsManager->resetGraphicsScale(); +} + #ifdef USE_RGB_COLOR Graphics::PixelFormat ModularBackend::getScreenFormat() const { diff --git a/backends/modular-backend.h b/backends/modular-backend.h index 63e13059cb..b7920d9d71 100644 --- a/backends/modular-backend.h +++ b/backends/modular-backend.h @@ -74,6 +74,7 @@ public: virtual int getDefaultGraphicsMode() const; virtual bool setGraphicsMode(int mode); virtual int getGraphicsMode() const; + virtual void resetGraphicsScale(); #ifdef USE_RGB_COLOR virtual Graphics::PixelFormat getScreenFormat() const; virtual Common::List<Graphics::PixelFormat> getSupportedFormats() const; |