Index: src/pathops/SkPathOpsCurve.h |
diff --git a/src/pathops/SkPathOpsCurve.h b/src/pathops/SkPathOpsCurve.h |
index 5d12cb811ab134de195accc0b2ce6c56a3f4e06b..a7d3e81638148b9c1fdcb199a0527d7f350362d9 100644 |
--- a/src/pathops/SkPathOpsCurve.h |
+++ b/src/pathops/SkPathOpsCurve.h |
@@ -7,6 +7,7 @@ |
#ifndef SkPathOpsCurve_DEFINE |
#define SkPathOpsCurve_DEFINE |
+#include "SkIntersections.h" |
#include "SkPathOpsCubic.h" |
#include "SkPathOpsLine.h" |
#include "SkPathOpsQuad.h" |
@@ -149,4 +150,29 @@ static bool (* const CurveIsVertical[])(const SkPoint[], double , double) = { |
cubic_is_vertical |
}; |
+static void line_intersect_ray(const SkPoint a[2], const SkDLine& ray, SkIntersections* i) { |
+ SkDLine line; |
+ line.set(a); |
+ i->intersectRay(line, ray); |
+} |
+ |
+static void quad_intersect_ray(const SkPoint a[3], const SkDLine& ray, SkIntersections* i) { |
+ SkDQuad quad; |
+ quad.set(a); |
+ i->intersectRay(quad, ray); |
+} |
+ |
+static void cubic_intersect_ray(const SkPoint a[4], const SkDLine& ray, SkIntersections* i) { |
+ SkDCubic cubic; |
+ cubic.set(a); |
+ i->intersectRay(cubic, ray); |
+} |
+ |
+static void (* const CurveIntersectRay[])(const SkPoint[] , const SkDLine& , SkIntersections* ) = { |
+ NULL, |
+ line_intersect_ray, |
+ quad_intersect_ray, |
+ cubic_intersect_ray |
+}; |
+ |
#endif |