| 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.
|
|
|