diff options
author | Max Horn | 2008-11-12 22:23:19 +0000 |
---|---|---|
committer | Max Horn | 2008-11-12 22:23:19 +0000 |
commit | f974a6c8d5c65bd801557214d09f606e50e5882d (patch) | |
tree | 4408f238ff0dc9240d3c96be40527f0c0287ee00 | |
parent | 3b01ed48f58b6c1c1d39c5f9c6e238c497a2476d (diff) | |
download | scummvm-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
-rw-r--r-- | gui/ThemeEngine.cpp | 7 | ||||
-rw-r--r-- | gui/ThemeEngine.h | 3 |
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 |