// Copyright 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "config.h" #if USE(ACCELERATED_COMPOSITING) #include "SkPictureCanvasLayerTextureUpdater.h" #include "LayerPainterChromium.h" #include "SkCanvas.h" #include "TraceEvent.h" namespace cc { SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater(PassOwnPtr painter) : CanvasLayerTextureUpdater(painter) , m_layerIsOpaque(false) { } SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater() { } void SkPictureCanvasLayerTextureUpdater::prepareToUpdate(const IntRect& contentRect, const IntSize&, float contentsWidthScale, float contentsHeightScale, IntRect& resultingOpaqueRect, CCRenderingStats& stats) { SkCanvas* canvas = m_picture.beginRecording(contentRect.width(), contentRect.height()); paintContents(canvas, contentRect, contentsWidthScale, contentsHeightScale, resultingOpaqueRect, stats); m_picture.endRecording(); } void SkPictureCanvasLayerTextureUpdater::drawPicture(SkCanvas* canvas) { TRACE_EVENT0("cc", "SkPictureCanvasLayerTextureUpdater::drawPicture"); canvas->drawPicture(m_picture); } void SkPictureCanvasLayerTextureUpdater::setOpaque(bool opaque) { m_layerIsOpaque = opaque; } } // namespace cc #endif // USE(ACCELERATED_COMPOSITING)