| Index: src/pathops/SkOpAngle.cpp
|
| diff --git a/src/pathops/SkOpAngle.cpp b/src/pathops/SkOpAngle.cpp
|
| index aa72394043a695c6b57203ef6c407fe87a40132d..dee2906b7fcb5683655a476f37f7aae6e38cbc62 100644
|
| --- a/src/pathops/SkOpAngle.cpp
|
| +++ b/src/pathops/SkOpAngle.cpp
|
| @@ -113,11 +113,11 @@ bool SkOpAngle::operator<(const SkOpAngle& rh) const {
|
| SkPath::Verb partVerb = useThis ? fVerb : rh.fVerb;
|
| ray[0] = partVerb == SkPath::kCubic_Verb && part[0].approximatelyEqual(part[1]) ?
|
| part[2] : part[1];
|
| - ray[1].fX = (part[0].fX + part[partVerb].fX) / 2;
|
| - ray[1].fY = (part[0].fY + part[partVerb].fY) / 2;
|
| + ray[1].fX = (part[0].fX + part[SkPathOpsVerbToPoints(partVerb)].fX) / 2;
|
| + ray[1].fY = (part[0].fY + part[SkPathOpsVerbToPoints(partVerb)].fY) / 2;
|
| SkASSERT(ray[0] != ray[1]);
|
| - roots = (i.*CurveRay[fVerb])(fPts, ray);
|
| - rroots = (ri.*CurveRay[rh.fVerb])(rh.fPts, ray);
|
| + roots = (i.*CurveRay[SkPathOpsVerbToPoints(fVerb)])(fPts, ray);
|
| + rroots = (ri.*CurveRay[SkPathOpsVerbToPoints(rh.fVerb)])(rh.fPts, ray);
|
| } while ((roots == 0 || rroots == 0) && (flip ^= true));
|
| if (roots == 0 || rroots == 0) {
|
| // FIXME: we don't have a solution in this case. The interim solution
|
| @@ -314,8 +314,8 @@ void SkOpAngle::setSpans() {
|
| fUnsortable = step > 0 ? thisSpan.fUnsortableStart : nextSpan.fUnsortableEnd;
|
| #if DEBUG_UNSORTABLE
|
| if (fUnsortable) {
|
| - SkPoint iPt = (*CurvePointAtT[fVerb])(fPts, thisSpan.fT);
|
| - SkPoint ePt = (*CurvePointAtT[fVerb])(fPts, nextSpan.fT);
|
| + SkPoint iPt = (*CurvePointAtT[SkPathOpsVerbToPoints(fVerb)])(fPts, thisSpan.fT);
|
| + SkPoint ePt = (*CurvePointAtT[SkPathOpsVerbToPoints(fVerb)])(fPts, nextSpan.fT);
|
| SkDebugf("%s unsortable [%d] (%1.9g,%1.9g) [%d] (%1.9g,%1.9g)\n", __FUNCTION__,
|
| index, iPt.fX, iPt.fY, fEnd, ePt.fX, ePt.fY);
|
| }
|
| @@ -330,8 +330,8 @@ void SkOpAngle::setSpans() {
|
| }
|
| #if 1
|
| #if DEBUG_UNSORTABLE
|
| - SkPoint iPt = (*CurvePointAtT[fVerb])(fPts, startT);
|
| - SkPoint ePt = (*CurvePointAtT[fVerb])(fPts, endT);
|
| + SkPoint iPt = (*CurvePointAtT[SkPathOpsVerbToPoints(fVerb)])(fPts, startT);
|
| + SkPoint ePt = (*CurvePointAtT[SkPathOpsVerbToPoints(fVerb)])(fPts, endT);
|
| SkDebugf("%s all tiny unsortable [%d] (%1.9g,%1.9g) [%d] (%1.9g,%1.9g)\n", __FUNCTION__,
|
| fStart, iPt.fX, iPt.fY, fEnd, ePt.fX, ePt.fY);
|
| #endif
|
|
|