Lines Matching defs:const

47 const char* SkPathOpsDebug::kPathOpStr[] = {"diff", "sect", "union", "xor", "rdiff"};
55 bool SkPathOpsDebug::ChaseContains(const SkTDArray<SkOpSpanBase* >& chaseArray,
56 const SkOpSpanBase* span) {
58 const SkOpSpanBase* entry = chaseArray[index];
76 static const int kGlitchType_Count = SkPathOpsDebug::kUnalignedTail_Glitch + 1;
79 const SkOpSpanBase* fBase;
80 const SkOpSpanBase* fSuspect;
81 const SkOpSegment* fSegment;
82 const SkOpSegment* fOppSegment;
83 const SkOpPtT* fCoinSpan;
84 const SkOpPtT* fEndSpan;
85 const SkOpPtT* fOppSpan;
86 const SkOpPtT* fOppEndSpan;
94 void dumpType() const;
98 void init(const SkOpGlobalState* state) {
121 void record(GlitchType type, const SkOpSpanBase* base,
122 const SkOpSpanBase* suspect = NULL) {
128 void record(GlitchType type, const SkOpSpanBase* base,
129 const SkOpPtT* ptT) {
135 void record(GlitchType type, const SkCoincidentSpans* coin,
136 const SkCoincidentSpans* opp = NULL) {
146 void record(GlitchType type, const SkOpSpanBase* base,
147 const SkOpSegment* seg, double t, SkPoint pt) {
155 void record(GlitchType type, const SkOpSpanBase* base, double t,
163 void record(GlitchType type, const SkCoincidentSpans* coin,
164 const SkOpPtT* coinSpan, const SkOpPtT* endSpan) {
173 void record(GlitchType type, const SkCoincidentSpans* coin,
174 const SkOpSpanBase* base) {
181 void record(GlitchType type, const SkOpPtT* ptTS, const SkOpPtT* ptTE,
182 const SkOpPtT* oPtTS, const SkOpPtT* oPtTE) {
190 void record(GlitchType type, const SkOpSegment* seg, double startT,
191 double endT, const SkOpSegment* oppSeg, double oppStartT, double oppEndT) {
201 void record(GlitchType type, const SkOpSegment* seg,
202 const SkOpSpan* span) {
208 void record(GlitchType type, double t, const SkOpSpanBase* span) {
214 void record(GlitchType type, const SkOpSegment* seg) {
219 void record(GlitchType type, const SkCoincidentSpans* coin,
220 const SkOpPtT* ptT) {
227 const SkOpGlobalState* fGlobalState;
231 void SkPathOpsDebug::CoinDict::add(const SkPathOpsDebug::CoinDict& dict) {
238 void SkPathOpsDebug::CoinDict::add(const CoinDictEntry& key) {
256 static void missing_coincidence(SkPathOpsDebug::GlitchLog* glitches, const SkOpContourHead* contourList) {
257 const SkOpContour* contour = contourList;
265 static void move_multiples(SkPathOpsDebug::GlitchLog* glitches, const SkOpContourHead* contourList) {
266 const SkOpContour* contour = contourList;
275 static void move_nearby(SkPathOpsDebug::GlitchLog* glitches, const SkOpContourHead* contourList) {
276 const SkOpContour* contour = contourList;
293 const char* funcName = fCoinDictEntry.fFunctionName;
337 const char* s = str.c_str();
338 const char* end;
355 const SkOpContour* contour = contourList;
356 const SkOpCoincidence* coincidence = contour->globalState()->coincidence();
369 const SpanGlitch& glitch = glitches.fGlitches[index];
377 const SpanGlitch& glitch = glitches.fGlitches[index];
514 static void show_function_header(const char* functionName) {
515 SkDebugf("\nstatic void %s(skiatest::Reporter* reporter, const char* filename) {\n", functionName);
521 static const char* gOpStrs[] = {
529 const char* SkPathOpsDebug::OpStr(SkPathOp op) {
533 static void show_op(SkPathOp op, const char* pathOne, const char* pathTwo) {
538 void SkPathOpsDebug::ShowPath(const SkPath& a, const SkPath& b, SkPathOp shapeOp,
539 const char* testName) {
565 void SkOpGlobalState::debugAddLoopCount(SkIntersections* i, const SkIntersectionHelper& wt,
566 const SkIntersectionHelper& wn) {
602 static void dump_curve(SkPath::Verb verb, const SkPoint& pts, float weight) {
606 const char* verbs[] = { "", "line", "quad", "conic", "cubic" };
628 const char* loops[] = { "iterations", "coinChecks", "perpCalcs" };
651 // this is const so it can be called by const methods that overwise don't alter state
653 void SkOpGlobalState::debugSetPhase(const char* funcName DEBUG_COIN_DECLARE_PARAMS()) const {
676 int SkIntersections::debugLoopCount(DebugLoop index) const {
688 SkDCubic SkDQuad::debugToCubic() const {
700 void SkDQuad::debugSet(const SkDPoint* pts) {
705 void SkDCubic::debugSet(const SkDPoint* pts) {
710 void SkDConic::debugSet(const SkDPoint* pts, SkScalar weight) {
724 const SkOpPtT* SkOpSegment::debugAddT(double t, SkPathOpsDebug::GlitchLog* log) const {
727 const SkOpSpanBase* span = &fHead;
729 const SkOpPtT* result = span->ptT();
735 const SkOpSpan* prev = result->span()->prev();
756 void SkOpSegment::debugCheckAngleCoin() const {
757 const SkOpSpanBase* base = &fHead;
758 const SkOpSpan* span;
760 const SkOpAngle* angle = base->fromAngle();
778 void SkOpSegment::debugCheckHealth(SkPathOpsDebug::GlitchLog* glitches) const {
785 void SkOpSegment::debugClearAll(SkPathOpsDebug::GlitchLog* glitches) const {
786 const SkOpSpan* span = &fHead;
794 void SkOpSegment::debugClearOne(const SkOpSpan* span, SkPathOpsDebug::GlitchLog* glitches) const {
816 void SkOpSegment::DebugClearVisited(const SkOpSpanBase* span) {
819 const SkOpPtT* ptT = span->ptT(), * stopPtT = ptT;
821 const SkOpSegment* opp = ptT->segment();
839 void SkOpSegment::debugMissingCoincidence(SkPathOpsDebug::GlitchLog* log) const {
843 const SkOpSpan* prior = nullptr;
844 const SkOpSpanBase* spanBase = &fHead;
847 const SkOpPtT* ptT = spanBase->ptT(), * spanStopPtT = ptT;
853 const SkOpSegment* opp = ptT->span()->segment();
867 const SkOpSpan* span = spanBase->upCastable();
876 const SkOpPtT* priorPtT = nullptr, * priorStopPtT;
878 const SkOpSegment* priorOpp = nullptr;
879 const SkOpSpan* priorTest = spanBase->prev();
886 const SkOpSegment* segment = priorPtT->span()->segment();
901 const SkOpPtT* oppStart = prior->ptT();
902 const SkOpPtT* oppEnd = spanBase->ptT();
909 const SkOpCoincidence* coincidence = this->globalState()->coincidence();
910 const SkOpPtT* rootPriorPtT = priorPtT->span()->ptT();
911 const SkOpPtT* rootPtT = ptT->span()->ptT();
912 const SkOpPtT* rootOppStart = oppStart->span()->ptT();
913 const SkOpPtT* rootOppEnd = oppEnd->span()->ptT();
945 void SkOpSegment::debugMoveMultiples(SkPathOpsDebug::GlitchLog* glitches) const {
947 const SkOpSpanBase* test = &fHead;
954 const SkOpPtT* startPtT = test->ptT();
955 const SkOpPtT* testPtT = startPtT;
957 const SkOpSpanBase* oppSpan = testPtT->span();
964 const SkOpSegment* oppSegment = oppSpan->segment();
969 const SkOpSpanBase* oppPrev = oppSpan;
970 const SkOpSpanBase* oppFirst = oppSpan;
983 const SkOpSpanBase* oppNext = oppSpan;
984 const SkOpSpanBase* oppLast = oppSpan;
1000 const SkOpSpanBase* oppTest = oppFirst;
1007 const SkOpPtT* oppStartPtT = oppTest->ptT();
1008 const SkOpPtT* oppPtT = oppStartPtT;
1010 const SkOpSegment* oppPtTSegment = oppPtT->segment();
1014 const SkOpPtT* matchPtT = startPtT;
1041 void SkOpSegment::debugMoveNearby(SkPathOpsDebug::GlitchLog* glitches) const {
1044 const SkOpSpanBase* spanBase = &fHead;
1046 const SkOpPtT* ptT = spanBase->ptT();
1047 const SkOpPtT* headPtT = ptT;
1049 const SkOpSpanBase* test = ptT->span();
1070 const SkOpSpanBase* test = spanBase->upCast()->next();
1098 void SkOpSegment::debugSetCoinT(int index, SkScalar t) const {
1118 void SkOpSegment::debugShowActiveSpans(SkString* str) const {
1125 const SkOpSpan* span = &fHead;
1139 const SkDPoint* pts = curvePart.fCubic.fPts;
1168 void SkOpSegment::debugShowNewWinding(const char* fun, const SkOpSpan* span, int winding) {
1169 const SkPoint& pt = span->ptT()->fPt;
1191 void SkOpSegment::debugShowNewWinding(const char* fun, const SkOpSpan* span, int winding,
1193 const SkPoint& pt = span->ptT()->fPt;
1235 void SkOpAngle::debugCheckNearCoincidence() const {
1236 const SkOpAngle* test = this;
1238 const SkOpSegment* testSegment = test->segment();
1246 const SkOpAngle* next = test;
1275 SkString SkOpAngle::debugPart() const {
1303 void SkOpAngle::debugLoop() const {
1304 const SkOpAngle* first = this;
1305 const SkOpAngle* next = this;
1319 void SkOpAngle::debugValidate() const {
1326 const SkOpAngle* first = this;
1327 const SkOpAngle* next = this;
1336 const SkOpSpan* minSpan = next->start()->starter(next->end());
1367 void SkOpAngle::debugValidateNext() const {
1369 const SkOpAngle* first = this;
1370 const SkOpAngle* next = first;
1371 SkTDArray<const SkOpAngle*>(angles);
1388 void SkCoincidentSpans::debugStartCheck(const SkOpSpanBase* outer, const SkOpSpanBase* over,
1389 const SkOpGlobalState* debugState) const {
1398 const SkOpPtT* (SkCoincidentSpans::* getEnd)() const,
1399 void (SkCoincidentSpans::*setEnd)(const SkOpPtT* ptT) const ) const {
1400 const SkOpPtT* origPtT = (this->*getEnd)();
1401 const SkOpSpanBase* origSpan = origPtT->span();
1402 const SkOpSpan* prev = origSpan->prev();
1403 const SkOpPtT* testPtT = prev ? prev->next()->ptT()
1415 void SkCoincidentSpans::debugCorrectEnds(SkPathOpsDebug::GlitchLog* log) const {
1424 bool SkCoincidentSpans::debugExpand(SkPathOpsDebug::GlitchLog* log) const {
1426 const SkOpSegment* segment = coinPtTStart()->segment();
1427 const SkOpSegment* oppSegment = oppPtTStart()->segment();
1429 const SkOpSpan* start = coinPtTStart()->span()->upCast();
1430 const SkOpSpan* prev = start->prev();
1431 const SkOpPtT* oppPtT;
1443 const SkOpSpanBase* end = coinPtTEnd()->span();
1448 const SkOpPtT* oppPtT;
1463 void SkOpCoincidence::debugAddEndMovedSpans(SkPathOpsDebug::GlitchLog* log, const SkOpSpan* base, const SkOpSpanBase* testSpan) const {
1464 const SkOpPtT* testPtT = testSpan->ptT();
1465 const SkOpPtT* stopPtT = testPtT;
1466 const SkOpSegment* baseSeg = base->segment();
1468 const SkOpSegment* testSeg = testPtT->segment();
1483 const SkPoint& pt = base->pt();
1537 void SkOpCoincidence::debugAddEndMovedSpans(SkPathOpsDebug::GlitchLog* log, const SkOpPtT* ptT) const {
1539 const SkOpSpan* base = ptT->span()->upCast();
1540 const SkOpSpan* prev = base->prev();
1564 void SkOpCoincidence::debugAddEndMovedSpans(SkPathOpsDebug::GlitchLog* log) const {
1565 const SkCoincidentSpans* span = fHead;
1611 void SkOpCoincidence::debugAddExpanded(SkPathOpsDebug::GlitchLog* log) const {
1613 const SkCoincidentSpans* coin = this->fHead;
1618 const SkOpPtT* startPtT = coin->coinPtTStart();
1619 const SkOpPtT* oStartPtT = coin->oppPtTStart();
1624 const SkOpSpanBase* start = startPtT->span();
1625 const SkOpSpanBase* oStart = oStartPtT->span();
1626 const SkOpSpanBase* end = coin->coinPtTEnd()->span();
1627 const SkOpSpanBase* oEnd = coin->oppPtTEnd()->span();
1630 const SkOpSpanBase* test = start->upCast()->next();
1632 const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next();
1634 const SkOpSegment* seg = start->segment();
1635 const SkOpSegment* oSeg = oStart->segment();
1637 const SkOpPtT* containedOpp = test->ptT()->contains(oSeg);
1638 const SkOpPtT* containedThis = oTest->ptT()->contains(seg);
1650 const SkOpSpanBase* walk = test;
1651 const SkOpPtT* walkOpp;
1701 void SkOpCoincidence::debugAddIfMissing(SkPathOpsDebug::GlitchLog* log, const SkOpPtT* over1s, const SkOpPtT* over2s,
1702 double tStart, double tEnd, const SkOpSegment* coinSeg, const SkOpSegment* oppSeg, bool* added,
1703 const SkOpPtT* over1e, const SkOpPtT* over2e) const {
1743 const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
1744 double coinTs, double coinTe, double oppTs, double oppTe, bool* added) const {
1755 const SkCoincidentSpans* overlap = overlaps.count() ? overlaps[0] : nullptr;
1757 const SkCoincidentSpans* test = overlaps[index];
1778 const SkOpPtT* cs = coinSeg->existing(coinTs, oppSeg);
1779 const SkOpPtT* ce = coinSeg->existing(coinTe, oppSeg);
1782 const SkOpPtT* os = oppSeg->existing(oppTs, coinSeg);
1783 const SkOpPtT* oe = oppSeg->existing(oppTe, coinSeg);
1789 const SkOpPtT* csExisting = !cs ? coinSeg->existing(coinTs, nullptr) : nullptr;
1790 const SkOpPtT* ceExisting = !ce ? coinSeg->existing(coinTe, nullptr) : nullptr;
1796 const SkOpPtT* osExisting = !os ? oppSeg->existing(oppTs, nullptr) : nullptr;
1797 const SkOpPtT* oeExisting = !oe ? oppSeg->existing(oppTe, nullptr) : nullptr;
1862 void SkOpCoincidence::debugAddMissing(SkPathOpsDebug::GlitchLog* log, bool* added) const {
1863 const SkCoincidentSpans* outer = fHead;
1874 const SkOpPtT* ocs = outer->coinPtTStart();
1876 const SkOpSegment* outerCoin = ocs->segment();
1878 const SkOpPtT* oos = outer->oppPtTStart();
1882 const SkOpSegment* outerOpp = oos->segment();
1886 const SkCoincidentSpans* inner = outer;
1890 const SkOpPtT* ics = inner->coinPtTStart();
1892 const SkOpSegment* innerCoin = ics->segment();
1894 const SkOpPtT* ios = inner->oppPtTStart();
1896 const SkOpSegment* innerOpp = ios->segment();
1901 const SkOpPtT* oce = outer->coinPtTEnd();
1905 const SkOpPtT* ice = inner->coinPtTEnd();
1914 const SkOpPtT* oce = outer->coinPtTEnd();
1916 const SkOpPtT* ioe = inner->oppPtTEnd();
1925 const SkOpPtT* ooe = outer->oppPtTEnd();
1927 const SkOpPtT* ice = inner->coinPtTEnd();
1937 const SkOpPtT* ooe = outer->oppPtTEnd();
1939 const SkOpPtT* ioe = inner->oppPtTEnd();
1959 void SkOpCoincidence::debugRelease(SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkCoincidentSpans* remove) const {
1960 const SkCoincidentSpans* head = coin;
1961 const SkCoincidentSpans* prev = nullptr;
1962 const SkCoincidentSpans* next;
1980 void SkOpCoincidence::debugRelease(SkPathOpsDebug::GlitchLog* log, const SkOpSegment* deleted) const {
1981 const SkCoincidentSpans* coin = fHead;
1997 bool SkOpCoincidence::debugExpand(SkPathOpsDebug::GlitchLog* log) const {
1998 const SkCoincidentSpans* coin = fHead;
2006 const SkCoincidentSpans* test = fHead;
2025 void SkOpCoincidence::debugMark(SkPathOpsDebug::GlitchLog* log) const {
2026 const SkCoincidentSpans* coin = fHead;
2032 const SkOpSpan* start = coin->coinPtTStartWritable()->span()->upCast();
2034 const SkOpSpanBase* end = coin->coinPtTEndWritable()->span();
2036 const SkOpSpanBase* oStart = coin->oppPtTStartWritable()->span();
2038 const SkOpSpanBase* oEnd = coin->oppPtTEndWritable()->span();
2049 const SkOpSegment* segment = start->segment();
2050 const SkOpSegment* oSegment = oStart->segment();
2051 const SkOpSpanBase* next = start;
2052 const SkOpSpanBase* oNext = oStart;
2074 void SkOpCoincidence::debugMarkCollapsed(SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkOpPtT* test) const {
2075 const SkCoincidentSpans* head = coin;
2091 void SkOpCoincidence::debugMarkCollapsed(SkPathOpsDebug::GlitchLog* log, const SkOpPtT* test) const {
2097 void SkCoincidentSpans::debugShow() const {
2104 void SkOpCoincidence::debugShowCoincidence() const {
2106 const SkCoincidentSpans* span = fHead;
2115 static void DebugCheckBetween(const SkOpSpanBase* next, const SkOpSpanBase* end,
2116 double oStart, double oEnd, const SkOpSegment* oSegment,
2125 const SkOpPtT* ptT = next->ptT();
2131 const SkOpPtT* checkPtT = next->ptT();
2158 static void DebugCheckOverlap(const SkCoincidentSpans* test, const SkCoincidentSpans* list,
2163 const SkOpSegment* coinSeg = test->coinPtTStart()->segment();
2165 const SkOpSegment* oppSeg = test->oppPtTStart()->segment();
2217 static void DebugCheckOverlapTop(const SkCoincidentSpans* head, const SkCoincidentSpans* opt,
2220 const SkCoincidentSpans* test = head;
2222 const SkCoincidentSpans* next = test->next();
2229 static void DebugValidate(const SkCoincidentSpans* head, const SkCoincidentSpans* opt,
2232 const SkCoincidentSpans* coin = head;
2246 void SkOpCoincidence::debugValidate() const {
2254 static void DebugCheckBetween(const SkCoincidentSpans* head, const SkCoincidentSpans* opt,
2257 const SkCoincidentSpans* coin = head;
2271 void SkOpCoincidence::debugCheckBetween() const {
2282 void SkOpContour::debugCheckHealth(SkPathOpsDebug::GlitchLog* log) const {
2283 const SkOpSegment* segment = &fHead;
2289 void SkOpCoincidence::debugCheckValid(SkPathOpsDebug::GlitchLog* log) const {
2296 void SkOpCoincidence::debugCorrectEnds(SkPathOpsDebug::GlitchLog* log) const {
2297 const SkCoincidentSpans* coin = fHead;
2307 void SkOpContour::debugMissingCoincidence(SkPathOpsDebug::GlitchLog* log) const {
2309 const SkOpSegment* segment = &fHead;
2320 void SkOpContour::debugMoveMultiples(SkPathOpsDebug::GlitchLog* log) const {
2322 const SkOpSegment* segment = &fHead;
2331 void SkOpContour::debugMoveNearby(SkPathOpsDebug::GlitchLog* log) const {
2333 const SkOpSegment* segment = &fHead;
2341 void SkOpSegment::debugResetCoinT() const {
2351 void SkOpSegment::debugValidate() const {
2354 const SkOpSpanBase* span = &fHead;
2371 const SkOpSpanBase* span = &fHead;
2373 const SkOpSpanBase* prev = nullptr;
2401 void SkOpSpanBase::debugAddOpp(SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
2402 const SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT());
2412 void SkOpSpanBase::debugCheckForCollapsedCoincidence(SkPathOpsDebug::GlitchLog* log) const {
2413 const SkOpCoincidence* coins = this->globalState()->coincidence();
2420 const SkOpPtT* head = this->ptT();
2421 const SkOpPtT* test = head;
2431 bool SkOpSpanBase::debugCoinEndLoopCheck() const {
2433 const SkOpSpanBase* next = this;
2439 const SkOpSpanBase* checkCoin = this->fCoinEnd;
2440 const SkOpSpanBase* innerCoin = checkCoin;
2456 void SkOpSpanBase::debugInsertCoinEnd(SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* coin) const {
2475 void SkOpSpanBase::debugMergeMatches(SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
2476 const SkOpPtT* test = &fPtT;
2477 const SkOpPtT* testNext;
2478 const SkOpPtT* stop = test;
2484 const SkOpSpanBase* testBase = test->span();
2486 const SkOpSegment* segment = test->segment();
2490 const SkOpPtT* inner = opp->ptT();
2491 const SkOpPtT* innerStop = inner;
2499 const SkOpSpanBase* innerBase = inner->span();
2519 const SkOpPtT* debugInner = inner;
2540 void SkOpSpanBase::debugResetCoinT() const {
2542 const SkOpPtT* ptT = &fPtT;
2550 void SkOpSpanBase::debugSetCoinT(int index) const {
2552 const SkOpPtT* ptT = &fPtT;
2562 const SkOpSpan* SkOpSpanBase::debugStarter(SkOpSpanBase const** endPtr) const {
2563 const SkOpSpanBase* end = *endPtr;
2565 const SkOpSpanBase* result;
2575 void SkOpSpanBase::debugValidate() const {
2582 const SkOpPtT* ptT = &fPtT;
2602 bool SkOpSpan::debugCoinLoopCheck() const {
2604 const SkOpSpan* next = this;
2610 const SkOpSpan* checkCoin = this->fCoincident;
2611 const SkOpSpan* innerCoin = checkCoin;
2627 void SkOpSpan::debugInsertCoincidence(SkPathOpsDebug::GlitchLog* log, const SkOpSpan* coin) const {
2641 void SkOpSpan::debugInsertCoincidence(SkPathOpsDebug::GlitchLog* log, const SkOpSegment* segment, bool flipped, bool ordered) const {
2645 const SkOpPtT* next = &fPtT;
2648 const SkOpSpan* span;
2649 const SkOpSpanBase* base = next->span();
2651 const SkOpSpanBase* spanEnd = fNext->contains(segment)->span();
2652 const SkOpPtT* start = base->ptT()->starter(spanEnd->ptT());
2676 int SkIntersections::debugCoincidentUsed() const {
2700 void SkOpPtT::debugAddOpp(const SkOpPtT* opp, const SkOpPtT* oppPrev) const {
2701 SkDEBUGCODE(const SkOpPtT* oldNext = this->fNext);
2708 bool SkOpPtT::debugContains(const SkOpPtT* check) const {
2710 const SkOpPtT* ptT = this;
2718 const SkOpPtT* test = this;
2728 const SkOpPtT* SkOpPtT::debugContains(const SkOpSegment* check) const {
2730 const SkOpPtT* ptT = this;
2738 const SkOpPtT* test = this;
2748 const SkOpPtT* SkOpPtT::debugEnder(const SkOpPtT* end) const {
2752 int SkOpPtT::debugLoopLimit(bool report) const {
2754 const SkOpPtT* next = this;
2757 const SkOpPtT* checkPtT = this->fNext;
2758 const SkOpPtT* innerPtT = checkPtT;
2780 const SkOpPtT* SkOpPtT::debugOppPrev(const SkOpPtT* opp) const {
2784 void SkOpPtT::debugResetCoinT() const {
2790 void SkOpPtT::debugSetCoinT(int index) const {
2796 void SkOpPtT::debugValidate() const {
2821 const char* cStr = str.c_str();
2830 static void output_points(const SkPoint* pts, int count) {
2841 static void showPathContours(const SkPath& path, const char* pathName) {
2879 static const char* gFillTypeStr[] = {
2886 void SkPathOpsDebug::ShowOnePath(const SkPath& path, const char* name, bool includeDeclaration) {
2897 const SkRect& rect = rects[contour];
2918 static void dump_path(FILE* file, const SkPath& path, bool force, bool dumpAsHex) {
2927 void SkPathOpsDebug::DumpOp(const SkPath& one, const SkPath& two, SkPathOp op,
2928 const char* testName) {
2933 void SkPathOpsDebug::DumpOp(FILE* file, const SkPath& one, const SkPath& two, SkPathOp op,
2934 const char* testName) {
2935 const char* name = testName ? testName : "op";
2937 "\nstatic void %s_%d(skiatest::Reporter* reporter, const char* filename) {\n",
2952 void SkPathOpsDebug::DumpSimplify(const SkPath& path, const char* testName) {
2957 void SkPathOpsDebug::DumpSimplify(FILE* file, const SkPath& path, const char* testName) {
2958 const char* name = testName ? testName : "simplify";
2960 "\nstatic void %s_%d(skiatest::Reporter* reporter, const char* filename) {\n",
2974 const int bitWidth = 64;
2975 const int bitHeight = 64;
2977 static void debug_scale_matrix(const SkPath& one, const SkPath* two, SkMatrix& scale) {
3005 static int debug_paths_draw_the_same(const SkPath& one, const SkPath& two, SkBitmap& bits) {
3013 const SkRect& bounds1 = one.getBounds();
3039 void SkPathOpsDebug::ReportOpFail(const SkPath& one, const SkPath& two, SkPathOp op) {
3045 void SkPathOpsDebug::VerifyOp(const SkPath& one, const SkPath& two, SkPathOp op,
3046 const SkPath& result) {
3071 const int MAX_ERRORS = 9;
3079 void SkPathOpsDebug::ReportSimplifyFail(const SkPath& path) {
3085 void SkPathOpsDebug::VerifySimplify(const SkPath& path, const SkPath& result) {
3104 const int MAX_ERRORS = 9;
3115 void Dump(const SkPath& path) {
3119 void DumpHex(const SkPath& path) {