Index: src/pathops/SkPathOpsLine.cpp |
diff --git a/src/pathops/SkPathOpsLine.cpp b/src/pathops/SkPathOpsLine.cpp |
index 7587fda69ab57d0ca112b1a0dfc631103fcfbfbc..622961911a4dbc4de25dccad58825872498cb9e6 100644 |
--- a/src/pathops/SkPathOpsLine.cpp |
+++ b/src/pathops/SkPathOpsLine.cpp |
@@ -63,7 +63,7 @@ double SkDLine::exactPoint(const SkDPoint& xy) const { |
return -1; |
} |
-double SkDLine::nearPoint(const SkDPoint& xy) const { |
+double SkDLine::nearPoint(const SkDPoint& xy, bool* unequal) const { |
if (!AlmostBetweenUlps(fPts[0].fX, xy.fX, fPts[1].fX) |
|| !AlmostBetweenUlps(fPts[0].fY, xy.fY, fPts[1].fY)) { |
return -1; |
@@ -86,6 +86,9 @@ double SkDLine::nearPoint(const SkDPoint& xy) const { |
if (!AlmostEqualUlps(largest, largest + dist)) { // is the dist within ULPS tolerance? |
return -1; |
} |
+ if (unequal) { |
+ *unequal = (float) largest != (float) (largest + dist); |
+ } |
t = SkPinT(t); |
SkASSERT(between(0, t, 1)); |
return t; |