aboutsummaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorMax Horn2008-11-12 22:23:19 +0000
committerMax Horn2008-11-12 22:23:19 +0000
commitf974a6c8d5c65bd801557214d09f606e50e5882d (patch)
tree4408f238ff0dc9240d3c96be40527f0c0287ee00 /gui
parent3b01ed48f58b6c1c1d39c5f9c6e238c497a2476d (diff)
downloadscummvm-rg350-f974a6c8d5c65bd801557214d09f606e50e5882d.tar.gz
scummvm-rg350-f974a6c8d5c65bd801557214d09f606e50e5882d.tar.bz2
scummvm-rg350-f974a6c8d5c65bd801557214d09f606e50e5882d.zip
GUI: Blitting the full screen to the backbuffer (or vice versa) can be done with a single memcpy, which is a bit faster than using _vectorRenderer->blitSurface
svn-id: r35029
Diffstat (limited to 'gui')
-rw-r--r--gui/ThemeEngine.cpp7
-rw-r--r--gui/ThemeEngine.h3
2 files changed, 4 insertions, 6 deletions
diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp
index d87feb3273..ace3114f63 100644
--- a/gui/ThemeEngine.cpp
+++ b/gui/ThemeEngine.cpp
@@ -320,7 +320,7 @@ void ThemeEngine::calcBackgroundOffset(DrawData type) {
_widgets[type]->_backgroundOffset = maxShadow;
}
-void ThemeEngine::restoreBackground(Common::Rect r, bool special) {
+void ThemeEngine::restoreBackground(Common::Rect r) {
r.clip(_screen->w, _screen->h); // AHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA... Oh god. :(
_vectorRenderer->blitSurface(_backBuffer, r);
}
@@ -914,7 +914,7 @@ void ThemeEngine::updateScreen() {
}
_vectorRenderer->setSurface(_screen);
- _vectorRenderer->blitSurface(_backBuffer, Common::Rect(0, 0, _screen->w, _screen->h));
+ memcpy(_screen->getBasePtr(0,0), _backBuffer->getBasePtr(0,0), _screen->pitch * _screen->h);
_bufferQueue.clear();
}
@@ -957,8 +957,7 @@ void ThemeEngine::openDialog(bool doBuffer, ShadingStyle style) {
addDirtyRect(Common::Rect(0, 0, _screen->w, _screen->h));
}
- _vectorRenderer->setSurface(_backBuffer);
- _vectorRenderer->blitSurface(_screen, Common::Rect(0, 0, _screen->w, _screen->h));
+ memcpy(_backBuffer->getBasePtr(0,0), _screen->getBasePtr(0,0), _screen->pitch * _screen->h);
_vectorRenderer->setSurface(_screen);
}
diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
index 57efa04f8a..7115ec1a76 100644
--- a/gui/ThemeEngine.h
+++ b/gui/ThemeEngine.h
@@ -493,9 +493,8 @@ public:
* The actual processing is done in the VectorRenderer.
*
* @param r Area to restore.
- * @param special Deprecated.
*/
- void restoreBackground(Common::Rect r, bool special = false);
+ void restoreBackground(Common::Rect r);
/**
* Checks if a given DrawData set for a widget has been cached beforehand