| Index: cc/frame_buffer_skpicture_canvas_layer_texture_updater.h
|
| diff --git a/cc/frame_buffer_skpicture_canvas_layer_texture_updater.h b/cc/frame_buffer_skpicture_canvas_layer_texture_updater.h
|
| index 638cbb270ce9b24689d5095baf174ade4f4d1a13..79093f2f1de0631809a87840587577c0abf4b929 100644
|
| --- a/cc/frame_buffer_skpicture_canvas_layer_texture_updater.h
|
| +++ b/cc/frame_buffer_skpicture_canvas_layer_texture_updater.h
|
| @@ -1,3 +1,52 @@
|
| -// Copyright 2012 The Chromium Authors. All rights reserved.
|
| +// 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.
|
| +
|
| +
|
| +#ifndef FrameBufferSkPictureCanvasLayerTextureUpdater_h
|
| +#define FrameBufferSkPictureCanvasLayerTextureUpdater_h
|
| +
|
| +#if USE(ACCELERATED_COMPOSITING)
|
| +
|
| +#include "SkPictureCanvasLayerTextureUpdater.h"
|
| +
|
| +class GrContext;
|
| +
|
| +namespace WebKit {
|
| +class WebGraphicsContext3D;
|
| +class WebSharedGraphicsContext3D;
|
| +}
|
| +
|
| +namespace cc {
|
| +
|
| +// This class records the contentRect into an SkPicture, then uses accelerated
|
| +// drawing to update the texture. The accelerated drawing goes to an
|
| +// intermediate framebuffer and then is copied to the destination texture once done.
|
| +class FrameBufferSkPictureCanvasLayerTextureUpdater : public SkPictureCanvasLayerTextureUpdater {
|
| +public:
|
| + class Texture : public LayerTextureUpdater::Texture {
|
| + public:
|
| + Texture(FrameBufferSkPictureCanvasLayerTextureUpdater*, scoped_ptr<CCPrioritizedTexture>);
|
| + virtual ~Texture();
|
| +
|
| + virtual void updateRect(CCResourceProvider*, const IntRect& sourceRect, const IntSize& destOffset) OVERRIDE;
|
| +
|
| + private:
|
| + FrameBufferSkPictureCanvasLayerTextureUpdater* textureUpdater() { return m_textureUpdater; }
|
| +
|
| + FrameBufferSkPictureCanvasLayerTextureUpdater* m_textureUpdater;
|
| + };
|
| +
|
| + static PassRefPtr<FrameBufferSkPictureCanvasLayerTextureUpdater> create(PassOwnPtr<LayerPainterChromium>);
|
| + virtual ~FrameBufferSkPictureCanvasLayerTextureUpdater();
|
| +
|
| + virtual PassOwnPtr<LayerTextureUpdater::Texture> createTexture(CCPrioritizedTextureManager*) OVERRIDE;
|
| + virtual SampledTexelFormat sampledTexelFormat(GC3Denum textureFormat) OVERRIDE;
|
| + void updateTextureRect(WebKit::WebGraphicsContext3D*, GrContext*, CCResourceProvider*, CCPrioritizedTexture*, const IntRect& sourceRect, const IntSize& destOffset);
|
| +
|
| +private:
|
| + explicit FrameBufferSkPictureCanvasLayerTextureUpdater(PassOwnPtr<LayerPainterChromium>);
|
| +};
|
| +} // namespace cc
|
| +#endif // USE(ACCELERATED_COMPOSITING)
|
| +#endif // FrameBufferSkPictureCanvasLayerTextureUpdater_h
|
|
|