diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-25 00:09:14 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-25 00:09:14 +0000 |
commit | 94f206c1c75eb8cc4df2225a1c5c9c7b6fc96679 (patch) | |
tree | 530f51d5c75459999e4adf2a6895884ce1c15ce0 /cc/BitmapSkPictureCanvasLayerTextureUpdater.h | |
parent | 56235947f2b023fc63cfad692c56df4e92199848 (diff) | |
download | chromium_src-94f206c1c75eb8cc4df2225a1c5c9c7b6fc96679.zip chromium_src-94f206c1c75eb8cc4df2225a1c5c9c7b6fc96679.tar.gz chromium_src-94f206c1c75eb8cc4df2225a1c5c9c7b6fc96679.tar.bz2 |
Here are gyp targets and stubs for compiling libcc and the webkit_compositor bindings in chromium. Everything is guarded behind the off-by-default use_libcc_for_compositor gyp variable. I haven't included the actual code here, but there are scripts to sync. I plan to land + manually sync the code into place until we're ready to flip the gyp switch.
Snapshot from r126652
BUG=
Review URL: https://chromiumcodereview.appspot.com/10828381
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153354 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/BitmapSkPictureCanvasLayerTextureUpdater.h')
-rw-r--r-- | cc/BitmapSkPictureCanvasLayerTextureUpdater.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/cc/BitmapSkPictureCanvasLayerTextureUpdater.h b/cc/BitmapSkPictureCanvasLayerTextureUpdater.h new file mode 100644 index 0000000..4718d85 --- /dev/null +++ b/cc/BitmapSkPictureCanvasLayerTextureUpdater.h @@ -0,0 +1,45 @@ +// 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 BitmapSkPictureCanvasLayerTextureUpdater_h +#define BitmapSkPictureCanvasLayerTextureUpdater_h + +#if USE(ACCELERATED_COMPOSITING) +#include "SkBitmap.h" +#include "SkPictureCanvasLayerTextureUpdater.h" + +namespace WebCore { + +// This class records the contentRect into an SkPicture, then software rasterizes +// the SkPicture into bitmaps for each tile. This implements CCSettings::perTilePainting. +class BitmapSkPictureCanvasLayerTextureUpdater : public SkPictureCanvasLayerTextureUpdater { +public: + class Texture : public CanvasLayerTextureUpdater::Texture { + public: + Texture(BitmapSkPictureCanvasLayerTextureUpdater*, PassOwnPtr<CCPrioritizedTexture>); + + virtual void prepareRect(const IntRect& sourceRect, CCRenderingStats&) OVERRIDE; + virtual void updateRect(CCResourceProvider*, const IntRect& sourceRect, const IntSize& destOffset) OVERRIDE; + + private: + BitmapSkPictureCanvasLayerTextureUpdater* textureUpdater() { return m_textureUpdater; } + + SkBitmap m_bitmap; + BitmapSkPictureCanvasLayerTextureUpdater* m_textureUpdater; + }; + + static PassRefPtr<BitmapSkPictureCanvasLayerTextureUpdater> create(PassOwnPtr<LayerPainterChromium>); + virtual ~BitmapSkPictureCanvasLayerTextureUpdater(); + + virtual PassOwnPtr<LayerTextureUpdater::Texture> createTexture(CCPrioritizedTextureManager*) OVERRIDE; + virtual SampledTexelFormat sampledTexelFormat(GC3Denum textureFormat) OVERRIDE; + void paintContentsRect(SkCanvas*, const IntRect& sourceRect, CCRenderingStats&); + +private: + explicit BitmapSkPictureCanvasLayerTextureUpdater(PassOwnPtr<LayerPainterChromium>); +}; +} // namespace WebCore +#endif // USE(ACCELERATED_COMPOSITING) +#endif // BitmapSkPictureCanvasLayerTextureUpdater_h |