Index: src/gpu/batches/GrAADistanceFieldPathRenderer.h |
diff --git a/src/gpu/batches/GrAADistanceFieldPathRenderer.h b/src/gpu/batches/GrAADistanceFieldPathRenderer.h |
index 469aeeb981241bce1dd4a34e7440f5ef59d17988..c0e68268dedfe0def5ad98f7daedf3385d95f263 100755 |
--- a/src/gpu/batches/GrAADistanceFieldPathRenderer.h |
+++ b/src/gpu/batches/GrAADistanceFieldPathRenderer.h |
@@ -33,13 +33,30 @@ private: |
bool onDrawPath(const DrawPathArgs&) override; |
struct PathData { |
- struct Key { |
+ class Key { |
+ public: |
+ // default ctor needed for new of uninitialized PathData |
+ // since fStroke has no default ctor |
+ Key() |
+ : fGenID(0) |
+ , fDimension(0) |
+ , fStroke(SkStrokeRec::kFill_InitStyle) {} |
+ Key(uint32_t genID, uint32_t dim, const SkStrokeRec& stroke) |
+ : fGenID(genID) |
+ , fDimension(dim) |
+ , fStroke(stroke) {} |
+ |
+ bool operator==(const Key& other) const { |
+ return other.fGenID == fGenID && other.fDimension == fDimension && |
+ fStroke.hasEqualEffect(other.fStroke); |
+ } |
+ |
+ private: |
uint32_t fGenID; |
// rendered size for stored path (32x32 max, 64x64 max, 128x128 max) |
uint32_t fDimension; |
- bool operator==(const Key& other) const { |
- return other.fGenID == fGenID && other.fDimension == fDimension; |
- } |
+ // stroking information |
+ SkStrokeRec fStroke; |
}; |
Key fKey; |
SkScalar fScale; |