Chromium Code Reviews| Index: cc/layers/nine_patch_layer_impl.h |
| diff --git a/cc/layers/nine_patch_layer_impl.h b/cc/layers/nine_patch_layer_impl.h |
| index bc442d43f332727cee4a260a6a1cffe2d61e9bb2..c12eb2c8d67432106767f852d3e47c993de38d8c 100644 |
| --- a/cc/layers/nine_patch_layer_impl.h |
| +++ b/cc/layers/nine_patch_layer_impl.h |
| @@ -10,6 +10,7 @@ |
| #include "cc/base/cc_export.h" |
| #include "cc/layers/layer_impl.h" |
| #include "cc/resources/resource_provider.h" |
| +#include "cc/resources/ui_resource_client.h" |
| #include "ui/gfx/rect.h" |
| #include "ui/gfx/size.h" |
| @@ -27,8 +28,36 @@ class CC_EXPORT NinePatchLayerImpl : public LayerImpl { |
| } |
| virtual ~NinePatchLayerImpl(); |
| - void SetResourceId(unsigned id) { resource_id_ = id; } |
| - void SetLayout(gfx::Size image_bounds, gfx::Rect aperture); |
| + void set_ui_resource_id(UIResourceId uid) { ui_resource_id_ = uid; } |
|
danakj
2013/08/27 15:42:48
Should this be causing damage so the layer is draw
powei
2013/08/27 19:04:57
Done. I remember scrollbar_layer_impl did not hav
danakj
2013/08/27 19:07:13
No, it was a bug in scrollbar layer :)
|
| + |
| + // The bitmap stretches out the bounds of the layer. The following picture |
| + // illustrates the parameters associated with the dimensions. |
| + // |
| + // Layer space layout Bitmap space layout |
| + // |
| + // ------------------------ ~~~~~~~~~~ W ~~~~~~~~~~ |
| + // | : | : : | |
| + // | C | : Y | |
| + // | : | : : | |
| + // | ------------ | :~~X~~------------ | |
| + // | | | | : | : | |
| + // | | | | : | : | |
| + // |~~A~~| |~~B~~| H | Q | |
| + // | | | | : | : | |
| + // | ------------ | : ~~~~~P~~~~~ | |
| + // | : | : | |
| + // | D | : | |
| + // | : | : | |
| + // ------------------------ ------------------------ |
| + // |
| + // |image_bounds| = (W, H) |
| + // |image_aperture| = (X, Y, P, Q) |
| + // |border| = (A, C, A + B, C + D) |
| + // |fill_center| indicates whether to draw the center quad or not. |
| + void SetLayout(gfx::Size image_bounds, |
| + gfx::Rect image_aperture, |
| + gfx::Rect border, |
| + bool fill_center); |
| virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) |
| OVERRIDE; |
| @@ -39,7 +68,6 @@ class CC_EXPORT NinePatchLayerImpl : public LayerImpl { |
| virtual void AppendQuads(QuadSink* quad_sink, |
| AppendQuadsData* append_quads_data) OVERRIDE; |
| virtual ResourceProvider::ResourceId ContentsResourceId() const OVERRIDE; |
| - virtual void DidLoseOutputSurface() OVERRIDE; |
| virtual base::DictionaryValue* LayerTreeAsJson() const OVERRIDE; |
| @@ -56,7 +84,12 @@ class CC_EXPORT NinePatchLayerImpl : public LayerImpl { |
| // image space. |
| gfx::Rect image_aperture_; |
| - ResourceProvider::ResourceId resource_id_; |
| + // An inset border that the patches will be mapped to. |
| + gfx::Rect border_; |
| + |
| + bool fill_center_; |
| + |
| + UIResourceId ui_resource_id_; |
| DISALLOW_COPY_AND_ASSIGN(NinePatchLayerImpl); |
| }; |