diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/android/BaseRenderer.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/BaseRenderer.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/BaseRenderer.cpp b/Source/WebCore/platform/graphics/android/BaseRenderer.cpp index 4fde188..ea6c8ec 100644 --- a/Source/WebCore/platform/graphics/android/BaseRenderer.cpp +++ b/Source/WebCore/platform/graphics/android/BaseRenderer.cpp @@ -29,7 +29,9 @@ #if USE(ACCELERATED_COMPOSITING) +#include "GaneshRenderer.h" #include "GLUtils.h" +#include "RasterRenderer.h" #include "SkBitmap.h" #include "SkBitmapRef.h" #include "SkCanvas.h" @@ -56,6 +58,26 @@ namespace WebCore { +BaseRenderer::RendererType BaseRenderer::g_currentType = BaseRenderer::Raster; + +BaseRenderer* BaseRenderer::createRenderer() +{ + if (g_currentType == Raster) + return new RasterRenderer(); + else if (g_currentType == Ganesh) + return new GaneshRenderer(); + return NULL; +} + +void BaseRenderer::swapRendererIfNeeded(BaseRenderer*& renderer) +{ + if (renderer->getType() == g_currentType) + return; + + delete renderer; + renderer = createRenderer(); +} + void BaseRenderer::drawTileInfo(SkCanvas* canvas, const TileRenderInfo& renderInfo, int pictureCount) { |