Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1020)

Unified Diff: cc/layers/nine_patch_layer_impl.h

Issue 2591863003: Use nine-patch resource for drawing Aura overlay scrollbar thumb. (Closed)
Patch Set: Addressed sadrul@'s feedback Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 c7a1c2e8b28010932cc7be852bdca437a260cd67..69b039a54e7bbfd6fc360d895ad1cbcd5ca4317c 100644
--- a/cc/layers/nine_patch_layer_impl.h
+++ b/cc/layers/nine_patch_layer_impl.h
@@ -12,6 +12,7 @@
#include "cc/base/cc_export.h"
#include "cc/layers/layer_impl.h"
#include "cc/layers/ui_resource_layer_impl.h"
+#include "cc/quads/nine_patch_generator.h"
#include "cc/resources/resource_provider.h"
#include "cc/resources/ui_resource_client.h"
#include "ui/gfx/geometry/rect.h"
@@ -31,52 +32,7 @@ class CC_EXPORT NinePatchLayerImpl : public UIResourceLayerImpl {
}
~NinePatchLayerImpl() override;
- // The bitmap stretches out the bounds of the layer. The following picture
- // illustrates the parameters associated with the dimensions.
- //
- // Layer space layout
- //
- // --------------------------------
- // | : : |
- // | 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)
- // |occlusion_rectangle| = (I, J, K, L)
- // |fill_center| indicates whether to draw the center quad or not.
+ // For parameter meanings, see the declaration of NinePatchGenerator.
void SetLayout(const gfx::Rect& image_aperture,
const gfx::Rect& border,
const gfx::Rect& layer_occlusion,
@@ -95,33 +51,9 @@ class CC_EXPORT NinePatchLayerImpl : public UIResourceLayerImpl {
NinePatchLayerImpl(LayerTreeImpl* tree_impl, int id);
private:
- class Patch {
- public:
- Patch(const gfx::RectF& image_rect, const gfx::RectF& layer_rect);
-
- gfx::RectF image_rect;
- gfx::RectF layer_rect;
- };
-
const char* LayerTypeAsString() const override;
- void CheckGeometryLimitations();
-
- std::vector<Patch> ComputeQuadsWithOcclusion() const;
- std::vector<Patch> ComputeQuadsWithoutOcclusion() const;
-
- // The transparent center region that shows the parent layer's contents in
- // image space.
- gfx::Rect image_aperture_;
-
- // An inset border that the patches will be mapped to.
- gfx::Rect border_;
-
- bool fill_center_;
-
- bool nearest_neighbor_;
-
- gfx::Rect layer_occlusion_;
+ NinePatchGenerator quad_generator_;
DISALLOW_COPY_AND_ASSIGN(NinePatchLayerImpl);
};

Powered by Google App Engine
This is Rietveld 408576698