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 539d8e717aed319b6c88bfc6c1e73f727b3a9308..77d1b0a0e29472f7ea7e2eac55d117c942f09abe 100644 |
--- a/cc/layers/nine_patch_layer_impl.h |
+++ b/cc/layers/nine_patch_layer_impl.h |
@@ -33,31 +33,54 @@ class CC_EXPORT NinePatchLayerImpl : public UIResourceLayerImpl { |
// 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 |
+ // Layer space layout |
// |
- // ------------------------ ~~~~~~~~~~ W ~~~~~~~~~~ |
- // | : | : : | |
- // | C | : Y | |
- // | : | : : | |
- // | ------------ | :~~X~~------------ | |
- // | | | | : | : | |
- // | | | | : | : | |
- // |~~A~~| |~~B~~| H | Q | |
- // | | | | : | : | |
- // | ------------ | : ~~~~~P~~~~~ | |
- // | : | : | |
- // | D | : | |
- // | : | : | |
- // ------------------------ ------------------------ |
+ // -------------------------------- |
+ // | : : | |
+ // | J C | |
+ // | : : | |
+ // | ------------------ | |
+ // | | : | | |
+ // |~~~I~~| ------------ | | |
+ // | | | | | | |
+ // | | | | | | |
+ // |~~~A~~|~~| |~~|~B~~~~| |
+ // | | | | | | |
+ // | L ------------ | | |
+ // | | : | | |
+ // | ---K-------------- | |
+ // | D | |
+ // | : | |
+ // | : | |
+ // -------------------------------- |
+ // |
+ // Bitmap space layout |
+ // |
+ // ~~~~~~~~~~ W ~~~~~~~~~~ |
+ // : : | |
+ // : Y | |
+ // : : | |
+ // :~~X~~------------ | |
+ // : | : | |
+ // : | : | |
+ // H | Q | |
+ // : | : | |
+ // : ~~~~~P~~~~~ | |
+ // : | |
+ // : | |
+ // : | |
+ // ------------------------ |
// |
// |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. |
+ // |occlusion_rectangle| = (I, J, K, L) |
void SetLayout(const gfx::Rect& image_aperture, |
const gfx::Rect& border, |
bool fill_center, |
- bool nearest_neighbor); |
+ bool nearest_neighbor, |
+ const gfx::Rect& layer_occlusion); |
scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; |
void PushPropertiesTo(LayerImpl* layer) override; |
@@ -75,6 +98,17 @@ class CC_EXPORT NinePatchLayerImpl : public UIResourceLayerImpl { |
void CheckGeometryLimitations(); |
+ void AppendQuadsWithOcclusion(RenderPass* render_pass, |
aelias_OOO_until_Jul13
2016/04/20 05:54:57
These methods should be marked "const".
llandwerlin-old
2016/04/21 09:53:14
Done.
|
+ ResourceId resource, |
+ SharedQuadState* shared_quad_state, |
+ std::vector<gfx::Rect>* image_rects, |
+ std::vector<gfx::Rect>* layer_rects); |
+ void AppendQuadsWithoutOcclusion(RenderPass* render_pass, |
+ ResourceId resource, |
+ SharedQuadState* shared_quad_state, |
+ std::vector<gfx::Rect>* image_rects, |
+ std::vector<gfx::Rect>* layer_rects); |
+ |
// The transparent center region that shows the parent layer's contents in |
// image space. |
gfx::Rect image_aperture_; |
@@ -86,6 +120,8 @@ class CC_EXPORT NinePatchLayerImpl : public UIResourceLayerImpl { |
bool nearest_neighbor_; |
+ gfx::Rect layer_occlusion_; |
+ |
DISALLOW_COPY_AND_ASSIGN(NinePatchLayerImpl); |
}; |