Index: src/core/SkGeometry.h |
diff --git a/src/core/SkGeometry.h b/src/core/SkGeometry.h |
index 50756437504bc0148f0cf0a7d052e1230a68ef78..c8a69a97e371c037ee754e35572c72d2897097d3 100644 |
--- a/src/core/SkGeometry.h |
+++ b/src/core/SkGeometry.h |
@@ -191,6 +191,20 @@ bool SkXRayCrossesMonotonicCubic(const SkXRay& pt, const SkPoint cubic[4], |
int SkNumXRayCrossingsForCubic(const SkXRay& pt, const SkPoint cubic[4], |
bool* ambiguous = NULL); |
+enum SkCubicType { |
+ kSerpentine_SkCubicType, |
+ kCusp_SkCubicType, |
+ kLoop_SkCubicType, |
+ kQuadratic_SkCubicType, |
+ kLine_SkCubicType, |
+ kPoint_SkCubicType |
+}; |
+ |
+/** Returns the cubic classification. Pass scratch storage for computing inflection data, |
+ which can be used with additional work to find the loop intersections and so on. |
+*/ |
+SkCubicType SkClassifyCubic(const SkPoint p[4], SkScalar inflection[3]); |
+ |
/////////////////////////////////////////////////////////////////////////////// |
enum SkRotationDirection { |