Chromium Code Reviews| Index: cc/nine_patch_layer.h |
| diff --git a/cc/nine_patch_layer.h b/cc/nine_patch_layer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..221889f7af414a59f7e86d028e668d0aa594abf7 |
| --- /dev/null |
| +++ b/cc/nine_patch_layer.h |
| @@ -0,0 +1,48 @@ |
| +// Copyright 2012 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 NinePatchLayer_h |
| +#define NinePatchLayer_h |
| + |
| +#include "base/memory/scoped_ptr.h" |
| +#include "cc/layer.h" |
| +#include "cc/image_layer_updater.h" |
| +#include "IntRect.h" |
| +#include "SkBitmap.h" |
|
jamesr
2012/11/01 19:55:43
use "third_party/skia/include/.." style include pa
|
| + |
| +namespace cc { |
| + |
| +class ResourceUpdateQueue; |
| + |
| +class NinePatchLayer : public Layer { |
| +public: |
| + static scoped_refptr<NinePatchLayer> create(); |
| + |
| + virtual bool drawsContent() const OVERRIDE; |
| + virtual void setTexturePriorities(const PriorityCalculator&) OVERRIDE; |
| + virtual void update(ResourceUpdateQueue&, const OcclusionTracker*, RenderingStats&) OVERRIDE; |
| + virtual void pushPropertiesTo(LayerImpl*) OVERRIDE; |
| + |
| + void setBitmap(const SkBitmap& bitmap, const IntRect& aperture); |
| + |
| +private: |
| + NinePatchLayer(); |
| + virtual ~NinePatchLayer(); |
| + virtual scoped_ptr<LayerImpl> createLayerImpl() OVERRIDE; |
| + |
| + void createUpdaterIfNeeded(); |
| + |
| + scoped_refptr<ImageLayerUpdater> m_updater; |
| + scoped_ptr<LayerUpdater::Resource> m_resource; |
| + |
| + SkBitmap m_bitmap; |
| + bool m_bitmapDirty; |
| + |
| + // The transparent center region that shows the parent layer's contents in image space. |
| + IntRect m_imageAperture; |
|
jamesr
2012/11/01 19:55:43
could you use a gfx::Rect here? one less thing to
|
| +}; |
| + |
| +} |
| + |
| +#endif |