aboutsummaryrefslogtreecommitdiff
path: root/gui/ThemeRenderer.cpp
diff options
context:
space:
mode:
authorVicent Marti2008-07-16 10:48:14 +0000
committerVicent Marti2008-07-16 10:48:14 +0000
commit14c8d5d6c3d70cfa4f3229e3cd7c76771f566f9c (patch)
treec6d558b617837efb31f415382756e28c39f176bd /gui/ThemeRenderer.cpp
parent47119ee8b136184c39cc6ce1a4b7248702f4c16f (diff)
downloadscummvm-rg350-14c8d5d6c3d70cfa4f3229e3cd7c76771f566f9c.tar.gz
scummvm-rg350-14c8d5d6c3d70cfa4f3229e3cd7c76771f566f9c.tar.bz2
scummvm-rg350-14c8d5d6c3d70cfa4f3229e3cd7c76771f566f9c.zip
Stroking on tab widgets. Basic support for backcaching.
svn-id: r33084
Diffstat (limited to 'gui/ThemeRenderer.cpp')
-rw-r--r--gui/ThemeRenderer.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/gui/ThemeRenderer.cpp b/gui/ThemeRenderer.cpp
index 7995c34a40..4b56eba4a2 100644
--- a/gui/ThemeRenderer.cpp
+++ b/gui/ThemeRenderer.cpp
@@ -76,7 +76,7 @@ const char *ThemeRenderer::kDrawDataStrings[] = {
ThemeRenderer::ThemeRenderer(Common::String themeName, GraphicsMode mode) :
_vectorRenderer(0), _system(0), _graphicsMode(kGfxDisabled),
- _screen(0), _bytesPerPixel(0), _initOk(false), _themeOk(false), _enabled(false) {
+ _screen(0), _backBuffer(0), _bytesPerPixel(0), _initOk(false), _themeOk(false), _enabled(false) {
_system = g_system;
_parser = new ThemeParser(this);
@@ -153,9 +153,15 @@ void ThemeRenderer::disable() {
}
template<typename PixelType>
-void ThemeRenderer::screenInit() {
+void ThemeRenderer::screenInit(bool backBuffer) {
freeScreen();
-
+ freeBackbuffer();
+
+ if (backBuffer) {
+ _backBuffer = new Surface;
+ _backBuffer->create(_system->getOverlayWidth(), _system->getOverlayHeight(), sizeof(PixelType));
+ }
+
_screen = new Surface;
_screen->create(_system->getOverlayWidth(), _system->getOverlayHeight(), sizeof(PixelType));
_system->clearOverlay();
@@ -166,7 +172,7 @@ void ThemeRenderer::setGraphicsMode(GraphicsMode mode) {
case kGfxStandard16bit:
case kGfxAntialias16bit:
_bytesPerPixel = sizeof(uint16);
- screenInit<uint16>();
+ screenInit<uint16>(kEnableBackCaching);
break;
default: