Index: src/pathops/SkPathOpsQuad.h |
diff --git a/src/pathops/SkPathOpsQuad.h b/src/pathops/SkPathOpsQuad.h |
index 81638cf0bc012c33d5a1b303680091fa410de25c..4f1bee8b11fcb6f0af76141012640d4342538a50 100644 |
--- a/src/pathops/SkPathOpsQuad.h |
+++ b/src/pathops/SkPathOpsQuad.h |
@@ -41,10 +41,11 @@ struct SkDQuad { |
static bool IsCubic() { return false; } |
- void set(const SkPoint pts[kPointCount]) { |
+ const SkDQuad& set(const SkPoint pts[kPointCount]) { |
fPts[0] = pts[0]; |
fPts[1] = pts[1]; |
fPts[2] = pts[2]; |
+ return *this; |
} |
const SkDPoint& operator[](int n) const { SkASSERT(n >= 0 && n < kPointCount); return fPts[n]; } |
@@ -56,6 +57,8 @@ struct SkDQuad { |
SkDVector dxdyAtT(double t) const; |
static int FindExtrema(double a, double b, double c, double tValue[1]); |
bool hullIntersects(const SkDQuad& , bool* isLinear) const; |
+ bool hullIntersects(const SkDConic& , bool* isLinear) const; |
+ bool hullIntersects(const SkDCubic& , bool* isLinear) const; |
bool isLinear(int startIndex, int endIndex) const; |
bool monotonicInY() const; |
double nearestT(const SkDPoint&) const; |
@@ -77,6 +80,7 @@ struct SkDQuad { |
quad.set(pts); |
return quad.subDivide(a, c, t1, t2); |
} |
+ SkDConic toConic() const; |
SkDCubic toCubic() const; |
SkDPoint top(double startT, double endT) const; |