diff options
author | Vicent Marti | 2008-07-16 10:48:14 +0000 |
---|---|---|
committer | Vicent Marti | 2008-07-16 10:48:14 +0000 |
commit | 14c8d5d6c3d70cfa4f3229e3cd7c76771f566f9c (patch) | |
tree | c6d558b617837efb31f415382756e28c39f176bd /gui/ThemeRenderer.cpp | |
parent | 47119ee8b136184c39cc6ce1a4b7248702f4c16f (diff) | |
download | scummvm-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.cpp | 14 |
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: |