| Index: cc/layers/nine_patch_layer.h
|
| diff --git a/cc/layers/nine_patch_layer.h b/cc/layers/nine_patch_layer.h
|
| index 35d08812cff817e9a26247ef13e71683ba05463c..80a4c9391f3439ef3a7c94b4e3eb33550073a786 100644
|
| --- a/cc/layers/nine_patch_layer.h
|
| +++ b/cc/layers/nine_patch_layer.h
|
| @@ -8,32 +8,48 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "cc/base/cc_export.h"
|
| #include "cc/layers/layer.h"
|
| -#include "cc/resources/image_layer_updater.h"
|
| -#include "third_party/skia/include/core/SkBitmap.h"
|
| +#include "cc/resources/ui_resource_client.h"
|
| #include "ui/gfx/rect.h"
|
|
|
| namespace cc {
|
|
|
| -class ResourceUpdateQueue;
|
| +class LayerTreeHost;
|
| +class ScopedUIResource;
|
|
|
| class CC_EXPORT NinePatchLayer : public Layer {
|
| public:
|
| static scoped_refptr<NinePatchLayer> Create();
|
|
|
| virtual bool DrawsContent() const OVERRIDE;
|
| - virtual void SetTexturePriorities(const PriorityCalculator& priority_calc)
|
| - OVERRIDE;
|
| - virtual bool Update(ResourceUpdateQueue* queue,
|
| - const OcclusionTracker* occlusion) OVERRIDE;
|
| +
|
| virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE;
|
|
|
| + virtual void SetLayerTreeHost(LayerTreeHost* host) OVERRIDE;
|
| +
|
| + // |border| is the space around the center rectangular region in layer space
|
| + // (known as aperture in image space). |border.x()| and |border.y()| are the
|
| + // size of the left and top boundary, respectively.
|
| + // |border.width()-border.x()| and |border.height()-border.y()| are the size
|
| + // of the right and bottom boundary, respectively.
|
| + void SetBorder(gfx::Rect border);
|
| +
|
| // aperture is in the pixel space of the bitmap resource and refers to
|
| // the center patch of the ninepatch (which is unused in this
|
| // implementation). We split off eight rects surrounding it and stick them
|
| // on the edges of the layer. The corners are unscaled, the top and bottom
|
| // rects are x-stretched to fit, and the left and right rects are
|
| // y-stretched to fit.
|
| - void SetBitmap(const SkBitmap& bitmap, gfx::Rect aperture);
|
| + void SetBitmap(const SkBitmap& skbitmap, gfx::Rect aperture);
|
| +
|
| + // An alternative way of setting the resource to allow for sharing.
|
| + void SetUIResourceId(UIResourceId resource_id, gfx::Rect aperture);
|
| + void SetFillCenter(bool fill_center);
|
| +
|
| + class UIResourceHolder {
|
| + public:
|
| + virtual UIResourceId id() = 0;
|
| + virtual ~UIResourceHolder();
|
| + };
|
|
|
| private:
|
| NinePatchLayer();
|
| @@ -41,14 +57,9 @@ class CC_EXPORT NinePatchLayer : public Layer {
|
| virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl)
|
| OVERRIDE;
|
|
|
| - void CreateUpdaterIfNeeded();
|
| - void CreateResource();
|
| -
|
| - scoped_refptr<ImageLayerUpdater> updater_;
|
| - scoped_ptr<LayerUpdater::Resource> resource_;
|
| -
|
| - SkBitmap bitmap_;
|
| - bool bitmap_dirty_;
|
| + gfx::Rect border_;
|
| + bool fill_center_;
|
| + scoped_ptr<UIResourceHolder> ui_resource_holder_;
|
|
|
| // The transparent center region that shows the parent layer's contents in
|
| // image space.
|
|
|