| Index: src/pathops/SkOpSegment.h
|
| diff --git a/src/pathops/SkOpSegment.h b/src/pathops/SkOpSegment.h
|
| index 1e9e1c44be53055d28996ff800672a61ef0dd8fa..a762a66a5ab0f4d48ea72dacc207f3021e14ed4e 100644
|
| --- a/src/pathops/SkOpSegment.h
|
| +++ b/src/pathops/SkOpSegment.h
|
| @@ -41,20 +41,24 @@ public:
|
| bool activeOp(int xorMiMask, int xorSuMask, SkOpSpanBase* start, SkOpSpanBase* end, SkPathOp op,
|
| int* sumMiWinding, int* sumSuWinding);
|
|
|
| - SkPoint activeLeftTop(SkOpSpanBase** firstT);
|
| + SkDPoint activeLeftTop(SkOpSpanBase** firstT);
|
|
|
| bool activeWinding(SkOpSpanBase* start, SkOpSpanBase* end);
|
| bool activeWinding(SkOpSpanBase* start, SkOpSpanBase* end, int* sumWinding);
|
|
|
| SkOpSegment* addConic(SkPoint pts[3], SkScalar weight, SkOpContour* parent) {
|
| init(pts, weight, parent, SkPath::kConic_Verb);
|
| - fBounds.setConicBounds(pts, weight);
|
| + SkDCurve curve;
|
| + curve.fConic.set(pts, weight);
|
| + curve.setConicBounds(pts, weight, 0, 1, &fBounds);
|
| return this;
|
| }
|
|
|
| SkOpSegment* addCubic(SkPoint pts[4], SkOpContour* parent) {
|
| init(pts, 1, parent, SkPath::kCubic_Verb);
|
| - fBounds.setCubicBounds(pts, 1);
|
| + SkDCurve curve;
|
| + curve.fCubic.set(pts);
|
| + curve.setCubicBounds(pts, 1, 0, 1, &fBounds);
|
| return this;
|
| }
|
|
|
| @@ -88,7 +92,9 @@ public:
|
|
|
| SkOpSegment* addQuad(SkPoint pts[3], SkOpContour* parent) {
|
| init(pts, 1, parent, SkPath::kQuad_Verb);
|
| - fBounds.setQuadBounds(pts, 1);
|
| + SkDCurve curve;
|
| + curve.fQuad.set(pts);
|
| + curve.setQuadBounds(pts, 1, 0, 1, &fBounds);
|
| return this;
|
| }
|
|
|
| @@ -362,6 +368,8 @@ public:
|
| return start->t() * (1 - mid) + end->t() * mid;
|
| }
|
|
|
| + SkDPoint top(const SkOpSpanBase* start, const SkOpSpanBase* end, double* topT) const;
|
| +
|
| void undoneSpan(SkOpSpanBase** start, SkOpSpanBase** end);
|
| int updateOppWinding(const SkOpSpanBase* start, const SkOpSpanBase* end) const;
|
| int updateOppWinding(const SkOpAngle* angle) const;
|
|
|