diff options
Diffstat (limited to 'src/effects/SkDashPathEffect.cpp')
-rw-r--r-- | src/effects/SkDashPathEffect.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/effects/SkDashPathEffect.cpp b/src/effects/SkDashPathEffect.cpp index 6e10e5466d..ced0aab69a 100644 --- a/src/effects/SkDashPathEffect.cpp +++ b/src/effects/SkDashPathEffect.cpp @@ -384,3 +384,17 @@ void SkDashPathEffect::toString(SkString* str) const { str->appendf("))"); } #endif + +////////////////////////////////////////////////////////////////////////////////////////////////// + +SkPathEffect* SkDashPathEffect::Create(const SkScalar intervals[], int count, SkScalar phase) { + if ((count < 2) || !SkIsAlign2(count)) { + return nullptr; + } + for (int i = 0; i < count; i++) { + if (intervals[i] < 0) { + return nullptr; + } + } + return new SkDashPathEffect(intervals, count, phase); +} |