Index: src/pathops/SkPathOpsCurve.cpp |
diff --git a/src/pathops/SkPathOpsCurve.cpp b/src/pathops/SkPathOpsCurve.cpp |
index 651e64a908e66c260e31df7338bddbe3602792f2..bf44d25e17c9b1ec12f7d85512bd5e2e2564f421 100644 |
--- a/src/pathops/SkPathOpsCurve.cpp |
+++ b/src/pathops/SkPathOpsCurve.cpp |
@@ -8,98 +8,6 @@ |
#include "SkPathOpsRect.h" |
#include "SkPathOpsCurve.h" |
-SkDPoint SkDCurve::conicTop(const SkPoint curve[3], SkScalar curveWeight, |
- double startT, double endT, double* topT) { |
- SkDPoint topPt = fConic[0]; |
- *topT = startT; |
- if (topPt.fY > fConic[2].fY || (topPt.fY == fConic[2].fY && topPt.fX > fConic[2].fX)) { |
- *topT = endT; |
- topPt = fConic[2]; |
- } |
- if (!fConic.monotonicInY()) { |
- double extremeT; |
- if (SkDConic::FindExtrema(&fConic.fPts.fPts[0].fY, fConic.fWeight, &extremeT)) { |
- SkDConic dCurve; |
- dCurve.set(curve, curveWeight); |
- extremeT = startT + (endT - startT) * extremeT; |
- SkDPoint test = dCurve.ptAtT(extremeT); |
- if (topPt.fY > test.fY || (topPt.fY == test.fY && topPt.fX > test.fX)) { |
- *topT = extremeT; |
- topPt = test; |
- } |
- } |
- } |
- return topPt; |
-} |
- |
-SkDPoint SkDCurve::cubicTop(const SkPoint curve[4], SkScalar , |
- double startT, double endT, double* topT) { |
- SkDPoint topPt = fCubic[0]; |
- *topT = startT; |
- if (topPt.fY > fCubic[3].fY || (topPt.fY == fCubic[3].fY && topPt.fX > fCubic[3].fX)) { |
- *topT = endT; |
- topPt = fCubic[3]; |
- } |
- double extremeTs[2]; |
- if (!fCubic.monotonicInY()) { |
- int roots = SkDCubic::FindExtrema(&fCubic.fPts[0].fY, extremeTs); |
- SkDCubic dCurve; |
- dCurve.set(curve); |
- for (int index = 0; index < roots; ++index) { |
- double t = startT + (endT - startT) * extremeTs[index]; |
- SkDPoint mid = dCurve.ptAtT(t); |
- if (topPt.fY > mid.fY || (topPt.fY == mid.fY && topPt.fX > mid.fX)) { |
- *topT = t; |
- topPt = mid; |
- } |
- } |
- } |
- return topPt; |
-} |
- |
-SkDPoint SkDCurve::lineTop(const SkPoint[2], SkScalar , double startT, double endT, double* topT) { |
- SkDPoint topPt = fLine[0]; |
- *topT = startT; |
- if (topPt.fY > fLine[1].fY || (topPt.fY == fLine[1].fY && topPt.fX > fLine[1].fX)) { |
- *topT = endT; |
- topPt = fLine[1]; |
- } |
- return topPt; |
-} |
- |
-SkDPoint SkDCurve::quadTop(const SkPoint curve[3], SkScalar , |
- double startT, double endT, double* topT) { |
- SkDPoint topPt = fQuad[0]; |
- *topT = startT; |
- if (topPt.fY > fQuad[2].fY || (topPt.fY == fQuad[2].fY && topPt.fX > fQuad[2].fX)) { |
- *topT = endT; |
- topPt = fQuad[2]; |
- } |
- if (!fQuad.monotonicInY()) { |
- double extremeT; |
- if (SkDQuad::FindExtrema(&fQuad.fPts[0].fY, &extremeT)) { |
- SkDQuad dCurve; |
- dCurve.set(curve); |
- extremeT = startT + (endT - startT) * extremeT; |
- SkDPoint test = dCurve.ptAtT(extremeT); |
- if (topPt.fY > test.fY || (topPt.fY == test.fY && topPt.fX > test.fX)) { |
- *topT = extremeT; |
- topPt = test; |
- } |
- } |
- } |
- return topPt; |
-} |
- |
-SkDPoint (SkDCurve::* const Top[])(const SkPoint curve[], SkScalar curveWeight, |
- double tStart, double tEnd, double* topT) = { |
- NULL, |
- &SkDCurve::lineTop, |
- &SkDCurve::quadTop, |
- &SkDCurve::conicTop, |
- &SkDCurve::cubicTop |
-}; |
- |
void SkDCurve::setConicBounds(const SkPoint curve[3], SkScalar curveWeight, |
double tStart, double tEnd, SkPathOpsBounds* bounds) { |
SkDConic dCurve; |
@@ -120,12 +28,6 @@ void SkDCurve::setCubicBounds(const SkPoint curve[4], SkScalar , |
SkDoubleToScalar(dRect.fRight), SkDoubleToScalar(dRect.fBottom)); |
} |
-void SkDCurve::setLineBounds(const SkPoint[2], SkScalar , |
- double , double , SkPathOpsBounds* bounds) { |
- bounds->setPointBounds(fLine[0]); |
- bounds->add(fLine[1]); |
-} |
- |
void SkDCurve::setQuadBounds(const SkPoint curve[3], SkScalar , |
double tStart, double tEnd, SkPathOpsBounds* bounds) { |
SkDQuad dCurve; |
@@ -135,12 +37,3 @@ void SkDCurve::setQuadBounds(const SkPoint curve[3], SkScalar , |
bounds->set(SkDoubleToScalar(dRect.fLeft), SkDoubleToScalar(dRect.fTop), |
SkDoubleToScalar(dRect.fRight), SkDoubleToScalar(dRect.fBottom)); |
} |
- |
-void (SkDCurve::* const SetBounds[])(const SkPoint curve[], SkScalar curveWeight, |
- double tStart, double tEnd, SkPathOpsBounds* bounds) = { |
- NULL, |
- &SkDCurve::setLineBounds, |
- &SkDCurve::setQuadBounds, |
- &SkDCurve::setConicBounds, |
- &SkDCurve::setCubicBounds |
-}; |