Index: src/core/SkGeometry.cpp |
diff --git a/src/core/SkGeometry.cpp b/src/core/SkGeometry.cpp |
index 01b618073ab1741648fc2f0e1fdc5ad9b40b3a43..f7c8f5736e64d0dc87fb83a749bd191b95909bf4 100644 |
--- a/src/core/SkGeometry.cpp |
+++ b/src/core/SkGeometry.cpp |
@@ -1146,24 +1146,6 @@ int SkBuildQuadArc(const SkVector& uStart, const SkVector& uStop, |
// {t^2 (2 - 2 w), t (-2 + 2 w), 1} |
// |
-static SkScalar conic_eval_pos(const SkScalar src[], SkScalar w, SkScalar t) { |
- SkASSERT(src); |
- SkASSERT(t >= 0 && t <= SK_Scalar1); |
- |
- SkScalar src2w = SkScalarMul(src[2], w); |
- SkScalar C = src[0]; |
- SkScalar A = src[4] - 2 * src2w + C; |
- SkScalar B = 2 * (src2w - C); |
- SkScalar numer = SkScalarMulAdd(SkScalarMulAdd(A, t, B), t, C); |
- |
- B = 2 * (w - SK_Scalar1); |
- C = SK_Scalar1; |
- A = -B; |
- SkScalar denom = SkScalarMulAdd(SkScalarMulAdd(A, t, B), t, C); |
- |
- return numer / denom; |
-} |
- |
// F' = 2 (C t (1 + t (-1 + w)) - A (-1 + t) (t (-1 + w) - w) + B (1 - 2 t) w) |
// |
// t^2 : (2 P0 - 2 P2 - 2 P0 w + 2 P2 w) |
@@ -1230,18 +1212,6 @@ static void ratquad_mapTo3D(const SkPoint src[3], SkScalar w, SkP3D dst[]) { |
dst[2].set(src[2].fX * 1, src[2].fY * 1, 1); |
} |
-void SkConic::evalAt(SkScalar t, SkPoint* pt, SkVector* tangent) const { |
- SkASSERT(t >= 0 && t <= SK_Scalar1); |
- |
- if (pt) { |
- pt->set(conic_eval_pos(&fPts[0].fX, fW, t), |
- conic_eval_pos(&fPts[0].fY, fW, t)); |
- } |
- if (tangent) { |
- *tangent = evalTangentAt(t); |
- } |
-} |
- |
void SkConic::chopAt(SkScalar t, SkConic dst[2]) const { |
SkP3D tmp[3], tmp2[3]; |
@@ -1317,6 +1287,17 @@ SkVector SkConic::evalTangentAt(SkScalar t) const { |
return to_vector(quad_poly_eval(A, B, C, Sk2s(t))); |
} |
+void SkConic::evalAt(SkScalar t, SkPoint* pt, SkVector* tangent) const { |
+ SkASSERT(t >= 0 && t <= SK_Scalar1); |
+ |
+ if (pt) { |
+ *pt = this->evalAt(t); |
+ } |
+ if (tangent) { |
+ *tangent = this->evalTangentAt(t); |
+ } |
+} |
+ |
static SkScalar subdivide_w_value(SkScalar w) { |
return SkScalarSqrt(SK_ScalarHalf + w * SK_ScalarHalf); |
} |