aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics/sdl
diff options
context:
space:
mode:
authorAlejandro Marzini2010-06-11 02:50:25 +0000
committerAlejandro Marzini2010-06-11 02:50:25 +0000
commite81fb60d34029c761c8b935ceaad3322f7b8bdee (patch)
tree9a1b0fded7153ce6efe31b75c7deb600912152f0 /backends/graphics/sdl
parent11e8ac61d1d446e9e5517ff9b39c701170f245bd (diff)
downloadscummvm-rg350-e81fb60d34029c761c8b935ceaad3322f7b8bdee.tar.gz
scummvm-rg350-e81fb60d34029c761c8b935ceaad3322f7b8bdee.tar.bz2
scummvm-rg350-e81fb60d34029c761c8b935ceaad3322f7b8bdee.zip
Add Common::EventSource inheritance for ModularBackend. OSystem_SDL now subclass from ModularBackend insteand of BaseBackend. Added forceFullRedraw() to SdlGraphicsManager and removed _modeChanged.
svn-id: r49590
Diffstat (limited to 'backends/graphics/sdl')
-rw-r--r--backends/graphics/sdl/sdl-graphics.cpp8
-rw-r--r--backends/graphics/sdl/sdl-graphics.h10
2 files changed, 8 insertions, 10 deletions
diff --git a/backends/graphics/sdl/sdl-graphics.cpp b/backends/graphics/sdl/sdl-graphics.cpp
index 7ae59aed49..206e04166c 100644
--- a/backends/graphics/sdl/sdl-graphics.cpp
+++ b/backends/graphics/sdl/sdl-graphics.cpp
@@ -128,7 +128,7 @@ SdlGraphicsManager::SdlGraphicsManager()
#endif
_overlayVisible(false),
_overlayscreen(0), _tmpscreen2(0),
- _scalerProc(0), _modeChanged(false), _screenChangeCount(0),
+ _scalerProc(0), _screenChangeCount(0),
_mouseVisible(false), _mouseNeedsRedraw(false), _mouseData(0), _mouseSurface(0),
_mouseOrigSurface(0), _cursorTargetScale(1), _cursorPaletteDisabled(true),
_currentShakePos(0), _newShakePos(0),
@@ -322,7 +322,6 @@ OSystem::TransactionError SdlGraphicsManager::endGFXTransaction() {
clearOverlay();
_videoMode.setup = true;
- _modeChanged = true;
// OSystem_SDL::pollEvent used to update the screen change count,
// but actually it gives problems when a video mode was changed
// but OSystem_SDL::pollEvent was not called. This for example
@@ -339,7 +338,6 @@ OSystem::TransactionError SdlGraphicsManager::endGFXTransaction() {
}
} else {
_videoMode.setup = true;
- _modeChanged = true;
// OSystem_SDL::pollEvent used to update the screen change count,
// but actually it gives problems when a video mode was changed
// but OSystem_SDL::pollEvent was not called. This for example
@@ -2072,4 +2070,8 @@ bool SdlGraphicsManager::isScalerHotkey(const Common::Event &event) {
return false;
}
+void SdlGraphicsManager::forceFullRedraw() {
+ _forceFull = true;
+}
+
#endif
diff --git a/backends/graphics/sdl/sdl-graphics.h b/backends/graphics/sdl/sdl-graphics.h
index 84935baaeb..1ba0074bd1 100644
--- a/backends/graphics/sdl/sdl-graphics.h
+++ b/backends/graphics/sdl/sdl-graphics.h
@@ -126,13 +126,7 @@ public:
void displayMessageOnOSD(const char *msg);
#endif
- // Accessed from OSystem_SDL::pollEvent for EVENT_SCREEN_CHANGED
- // The way this event works should be changed
- bool _modeChanged;
-
- // Accessed from OSystem_SDL::dispatchSDLEvent
- // A function here for toggling it should be made for this
- bool _forceFull;
+ void forceFullRedraw();
bool handleScalerHotkeys(const SDL_KeyboardEvent &key); // Move this?
bool isScalerHotkey(const Common::Event &event); // Move this?
@@ -210,6 +204,8 @@ protected:
virtual void setGraphicsModeIntern(); // overloaded by CE backend
/** Force full redraw on next updateScreen */
+ bool _forceFull;
+
ScalerProc *_scalerProc;
int _scalerType;
int _transactionMode;