| Index: src/effects/SkCornerPathEffect.cpp
|
| diff --git a/src/effects/SkCornerPathEffect.cpp b/src/effects/SkCornerPathEffect.cpp
|
| index 8dc506ace4df9a891eab688ed0b70a33ca978df3..31f55a3901e22b5502e843d78d5c709ccd484d04 100644
|
| --- a/src/effects/SkCornerPathEffect.cpp
|
| +++ b/src/effects/SkCornerPathEffect.cpp
|
| @@ -94,6 +94,16 @@ bool SkCornerPathEffect::filterPath(SkPath* dst, const SkPath& src,
|
| lastCorner = pts[2];
|
| firstStep.set(0, 0);
|
| break;
|
| + case SkPath::kConic_Verb:
|
| + // TBD - just replicate the curve for now
|
| + if (!prevIsValid) {
|
| + dst->moveTo(pts[0]);
|
| + prevIsValid = true;
|
| + }
|
| + dst->conicTo(pts[1], pts[2], iter.conicWeight());
|
| + lastCorner = pts[2];
|
| + firstStep.set(0, 0);
|
| + break;
|
| case SkPath::kCubic_Verb:
|
| if (!prevIsValid) {
|
| dst->moveTo(pts[0]);
|
| @@ -111,11 +121,12 @@ bool SkCornerPathEffect::filterPath(SkPath* dst, const SkPath& src,
|
| lastCorner.fY + firstStep.fY);
|
| }
|
| dst->close();
|
| - break;
|
| - case SkPath::kConic_Verb:
|
| - SkASSERT(0);
|
| + prevIsValid = false;
|
| break;
|
| case SkPath::kDone_Verb:
|
| + if (prevIsValid) {
|
| + dst->lineTo(lastCorner);
|
| + }
|
| goto DONE;
|
| }
|
|
|
|
|