diff options
Diffstat (limited to 'cc/ImageLayerChromium.h')
-rw-r--r-- | cc/ImageLayerChromium.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/cc/ImageLayerChromium.h b/cc/ImageLayerChromium.h new file mode 100644 index 0000000..8be33a7 --- /dev/null +++ b/cc/ImageLayerChromium.h @@ -0,0 +1,48 @@ +// Copyright 2010 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 ImageLayerChromium_h +#define ImageLayerChromium_h + +#if USE(ACCELERATED_COMPOSITING) + +#include "ContentLayerChromium.h" +#include "SkBitmap.h" + +namespace WebCore { + +class ImageLayerTextureUpdater; + +// A Layer that contains only an Image element. +class ImageLayerChromium : public TiledLayerChromium { +public: + static PassRefPtr<ImageLayerChromium> create(); + virtual ~ImageLayerChromium(); + + virtual bool drawsContent() const OVERRIDE; + virtual void setTexturePriorities(const CCPriorityCalculator&) OVERRIDE; + virtual void update(CCTextureUpdateQueue&, const CCOcclusionTracker*, CCRenderingStats&) OVERRIDE; + virtual bool needsContentsScale() const OVERRIDE; + + void setBitmap(const SkBitmap& image); + +private: + ImageLayerChromium(); + + void setTilingOption(TilingOption); + + virtual LayerTextureUpdater* textureUpdater() const OVERRIDE; + virtual void createTextureUpdaterIfNeeded() OVERRIDE; + virtual IntSize contentBounds() const OVERRIDE; + + SkBitmap m_bitmap; + + RefPtr<ImageLayerTextureUpdater> m_textureUpdater; +}; + +} +#endif // USE(ACCELERATED_COMPOSITING) + +#endif |