Index: include/effects/SkDiscretePathEffect.h |
diff --git a/include/effects/SkDiscretePathEffect.h b/include/effects/SkDiscretePathEffect.h |
index 8373b6aa159ef4550380626dee3c56a46944c3b5..cbee20f0251fcdae96029044bafbbbde16367bbe 100644 |
--- a/include/effects/SkDiscretePathEffect.h |
+++ b/include/effects/SkDiscretePathEffect.h |
@@ -19,9 +19,21 @@ public: |
/** Break the path into segments of segLength length, and randomly move the endpoints |
away from the original path by a maximum of deviation. |
Note: works on filled or framed paths |
+ |
+ @param seedAssist This is a caller-supplied seedAssist that modifies |
+ the seed value that is used to randomize the path |
+ segments' endpoints. If not supplied it defaults to 0, |
+ in which case filtering a path multiple times will |
+ result in the same set of segments (this is useful for |
+ testing). If a caller does not want this behaviour |
+ they can pass in a different seedAssist to get a |
+ different set of path segments. |
*/ |
- static SkDiscretePathEffect* Create(SkScalar segLength, SkScalar deviation) { |
- return SkNEW_ARGS(SkDiscretePathEffect, (segLength, deviation)); |
+ static SkDiscretePathEffect* Create(SkScalar segLength, |
+ SkScalar deviation, |
+ uint32_t seedAssist=0) { |
+ return SkNEW_ARGS(SkDiscretePathEffect, |
+ (segLength, deviation, seedAssist)); |
} |
virtual bool filterPath(SkPath* dst, const SkPath& src, |
@@ -30,13 +42,18 @@ public: |
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscretePathEffect) |
protected: |
- SkDiscretePathEffect(SkScalar segLength, SkScalar deviation); |
+ SkDiscretePathEffect(SkScalar segLength, |
+ SkScalar deviation, |
+ uint32_t seedAssist); |
explicit SkDiscretePathEffect(SkReadBuffer&); |
virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; |
private: |
SkScalar fSegLength, fPerterb; |
+ /* Caller-supplied 32 bit seed assist */ |
+ uint32_t fSeedAssist; |
+ |
typedef SkPathEffect INHERITED; |
}; |