Index: src/pathops/SkPathOpsTypes.h |
diff --git a/src/pathops/SkPathOpsTypes.h b/src/pathops/SkPathOpsTypes.h |
index 2cd45a5c4d9a5b528e56a7671decef49a8cba429..f85c6653eb05d5eae6807b0373abf704ab880c9a 100644 |
--- a/src/pathops/SkPathOpsTypes.h |
+++ b/src/pathops/SkPathOpsTypes.h |
@@ -25,6 +25,8 @@ enum SkPathOpsMask { |
class SkOpCoincidence; |
class SkOpContour; |
class SkOpContourHead; |
+class SkIntersections; |
+class SkIntersectionHelper; |
class SkOpGlobalState { |
public: |
@@ -41,7 +43,7 @@ public: |
kMaxWindingTries = 10 |
}; |
- bool angleCoincidence() { |
+ bool angleCoincidence() const { |
return fAngleCoincidence; |
} |
@@ -71,6 +73,14 @@ public: |
const char* debugTestName() const { return fDebugTestName; } |
#endif |
+#if DEBUG_T_SECT_LOOP_COUNT |
+ void debugAddLoopCount(SkIntersections* , const SkIntersectionHelper& , |
+ const SkIntersectionHelper& ); |
+ void debugDoYourWorst(SkOpGlobalState* ); |
+ void debugLoopReport(); |
+ void debugResetLoopCounts(); |
+#endif |
+ |
int nested() const { |
return fNested; |
} |
@@ -80,9 +90,14 @@ public: |
return ++fAngleID; |
} |
+ int nextCoinID() { |
+ return ++fCoinID; |
+ } |
+ |
int nextContourID() { |
return ++fContourID; |
} |
+ |
int nextPtTID() { |
return ++fPtTID; |
} |
@@ -132,11 +147,18 @@ private: |
#ifdef SK_DEBUG |
const char* fDebugTestName; |
int fAngleID; |
+ int fCoinID; |
int fContourID; |
int fPtTID; |
int fSegmentID; |
int fSpanID; |
#endif |
+#if DEBUG_T_SECT_LOOP_COUNT |
+ int fDebugLoopCount[3]; |
+ SkPath::Verb fDebugWorstVerb[6]; |
+ SkPoint fDebugWorstPts[24]; |
+ float fDebugWorstWeight[6]; |
+#endif |
}; |
// Use Almost Equal when comparing coordinates. Use epsilon to compare T values. |