diff options
Diffstat (limited to 'tests/PathOpsDebug.cpp')
-rwxr-xr-x | tests/PathOpsDebug.cpp | 174 |
1 files changed, 64 insertions, 110 deletions
diff --git a/tests/PathOpsDebug.cpp b/tests/PathOpsDebug.cpp index d2e8bd0867..95f06e5b7d 100755 --- a/tests/PathOpsDebug.cpp +++ b/tests/PathOpsDebug.cpp @@ -298,60 +298,60 @@ const SkOpSpanBase* SkPathOpsDebug::DebugSpanSpan(const SkOpSpanBase* span, int return span->debugSpan(id); } -void SkPathOpsDebug::DumpContours(SkTDArray<SkOpContour* >* contours) { - int count = contours->count(); - for (int index = 0; index < count; ++index) { - (*contours)[index]->dump(); - } +void SkOpContour::dumpContours() const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dump(); + } while ((contour = contour->next())); } -void SkPathOpsDebug::DumpContoursAll(SkTDArray<SkOpContour* >* contours) { - int count = contours->count(); - for (int index = 0; index < count; ++index) { - (*contours)[index]->dumpAll(); - } +void SkOpContour::dumpContoursAll() const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dumpAll(); + } while ((contour = contour->next())); } -void SkPathOpsDebug::DumpContoursAngles(const SkTDArray<SkOpContour* >* contours) { - int count = contours->count(); - for (int index = 0; index < count; ++index) { - (*contours)[index]->dumpAngles(); - } +void SkOpContour::dumpContoursAngles() const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dumpAngles(); + } while ((contour = contour->next())); } -void SkPathOpsDebug::DumpContoursPts(const SkTDArray<SkOpContour* >* contours) { - int count = contours->count(); - for (int index = 0; index < count; ++index) { - (*contours)[index]->dumpPts(); - } +void SkOpContour::dumpContoursPts() const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dumpPts(); + } while ((contour = contour->next())); } -void SkPathOpsDebug::DumpContoursPt(const SkTDArray<SkOpContour* >* contours, int segmentID) { - int count = contours->count(); - for (int index = 0; index < count; ++index) { - (*contours)[index]->dumpPt(segmentID); - } +void SkOpContour::dumpContoursPt(int segmentID) const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dumpPt(segmentID); + } while ((contour = contour->next())); } -void SkPathOpsDebug::DumpContoursSegment(const SkTDArray<SkOpContour* >* contours, - int segmentID) { - if (contours->count()) { - (*contours)[0]->dumpSegment(segmentID); - } +void SkOpContour::dumpContoursSegment(int segmentID) const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dumpSegment(segmentID); + } while ((contour = contour->next())); } -void SkPathOpsDebug::DumpContoursSpan(const SkTDArray<SkOpContour* >* contours, - int spanID) { - if (contours->count()) { - (*contours)[0]->dumpSpan(spanID); - } +void SkOpContour::dumpContoursSpan(int spanID) const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dumpSpan(spanID); + } while ((contour = contour->next())); } -void SkPathOpsDebug::DumpContoursSpans(const SkTDArray<SkOpContour* >* contours) { - int count = contours->count(); - for (int index = 0; index < count; ++index) { - (*contours)[index]->dumpSpans(); - } +void SkOpContour::dumpContoursSpans() const { + SkOpContour* contour = this->globalState()->contourHead(); + do { + contour->dumpSpans(); + } while ((contour = contour->next())); } template <typename TCurve, typename OppCurve> @@ -728,6 +728,11 @@ const SkOpSegment* SkOpAngle::debugSegment(int id) const { return this->segment()->debugSegment(id); } +int SkOpAngle::debugSign() const { + SkASSERT(fStart->t() != fEnd->t()); + return fStart->t() < fEnd->t() ? -1 : 1; +} + const SkOpSpanBase* SkOpAngle::debugSpan(int id) const { return this->segment()->debugSpan(id); } @@ -756,7 +761,7 @@ void SkOpAngle::dumpOne(bool functionHeader) const { SkDebugf(" sect=%d/%d ", fSectorStart, fSectorEnd); SkDebugf(" s=%1.9g [%d] e=%1.9g [%d]", fStart->t(), fStart->debugID(), fEnd->t(), fEnd->debugID()); - SkDebugf(" sgn=%d windVal=%d", this->sign(), mSpan.windValue()); + SkDebugf(" sgn=%d windVal=%d", this->debugSign(), mSpan.windValue()); SkDebugf(" windSum="); SkPathOpsDebug::WindingPrintf(mSpan.windSum()); @@ -774,9 +779,6 @@ void SkOpAngle::dumpOne(bool functionHeader) const { if (segment->operand()) { SkDebugf(" operand"); } - if (fStop) { - SkDebugf(" stop"); - } } void SkOpAngle::dumpTo(const SkOpSegment* segment, const SkOpAngle* to) const { @@ -1061,7 +1063,7 @@ void SkOpSegment::dumpCoin() const { } while ((span = span->next()->upCastable())); } -void SkOpSegment::dumpPts() const { +void SkOpSegment::dumpPtsInner() const { int last = SkPathOpsVerbToPoints(fVerb); SkDebugf("seg=%d {{", this->debugID()); if (fVerb == SkPath::kConic_Verb) { @@ -1077,6 +1079,10 @@ void SkOpSegment::dumpPts() const { if (fVerb == SkPath::kConic_Verb) { SkDebugf(", %1.9gf}", fWeight); } +} + +void SkOpSegment::dumpPts() const { + dumpPtsInner(); SkDebugf("\n"); } @@ -1115,32 +1121,32 @@ void SkOpCoincidence::dump() const { } } -void SkOpContour::dump() { +void SkOpContour::dump() const { SkDebugf("contour=%d count=%d op=%d xor=%d\n", this->debugID(), fCount, fOperand, fXor); if (!fCount) { return; } const SkOpSegment* segment = &fHead; - SkDEBUGCODE(fIndent = 0); - indentDump(); + SkDEBUGCODE(fDebugIndent = 0); + this->indentDump(); do { segment->dump(); } while ((segment = segment->next())); - outdentDump(); + this->outdentDump(); } -void SkOpContour::dumpAll() { +void SkOpContour::dumpAll() const { SkDebugf("contour=%d count=%d op=%d xor=%d\n", this->debugID(), fCount, fOperand, fXor); if (!fCount) { return; } const SkOpSegment* segment = &fHead; - SkDEBUGCODE(fIndent = 0); - indentDump(); + SkDEBUGCODE(fDebugIndent = 0); + this->indentDump(); do { segment->dumpAll(); } while ((segment = segment->next())); - outdentDump(); + this->outdentDump(); } @@ -1225,7 +1231,7 @@ void SkOpCurve::dump() const { #ifdef SK_DEBUG const SkOpAngle* SkOpGlobalState::debugAngle(int id) const { - const SkOpContour* contour = fHead; + const SkOpContour* contour = fContourHead; do { const SkOpSegment* segment = contour->first(); while (segment) { @@ -1252,7 +1258,7 @@ const SkOpAngle* SkOpGlobalState::debugAngle(int id) const { } SkOpContour* SkOpGlobalState::debugContour(int id) { - SkOpContour* contour = fHead; + SkOpContour* contour = fContourHead; do { if (contour->debugID() == id) { return contour; @@ -1262,7 +1268,7 @@ SkOpContour* SkOpGlobalState::debugContour(int id) { } const SkOpPtT* SkOpGlobalState::debugPtT(int id) const { - const SkOpContour* contour = fHead; + const SkOpContour* contour = fContourHead; do { const SkOpSegment* segment = contour->first(); while (segment) { @@ -1285,7 +1291,7 @@ const SkOpPtT* SkOpGlobalState::debugPtT(int id) const { } const SkOpSegment* SkOpGlobalState::debugSegment(int id) const { - const SkOpContour* contour = fHead; + const SkOpContour* contour = fContourHead; do { const SkOpSegment* segment = contour->first(); while (segment) { @@ -1299,7 +1305,7 @@ const SkOpSegment* SkOpGlobalState::debugSegment(int id) const { } const SkOpSpanBase* SkOpGlobalState::debugSpan(int id) const { - const SkOpContour* contour = fHead; + const SkOpContour* contour = fContourHead; do { const SkOpSegment* segment = contour->first(); while (segment) { @@ -1320,58 +1326,6 @@ const SkOpSpanBase* SkOpGlobalState::debugSpan(int id) const { } #endif -const SkOpAngle* DebugAngle(const SkTDArray<SkOpContour* >* contours, int id) { - return (*contours)[0]->debugAngle(id); -} - -SkOpContour* DumpContour(const SkTDArray<SkOpContour* >* contours, int id) { - return (*contours)[0]->debugContour(id); -} - -const SkOpPtT* DebugPtT(const SkTDArray<SkOpContour* >* contours, int id) { - return (*contours)[0]->debugPtT(id); -} - -const SkOpSegment* DebugSegment(const SkTDArray<SkOpContour* >* contours, int id) { - return (*contours)[0]->debugSegment(id); -} - -const SkOpSpanBase* DebugSpan(const SkTDArray<SkOpContour* >* contours, int id) { - return (*contours)[0]->debugSpan(id); -} - -void Dump(SkTDArray<SkOpContour* >* contours) { - SkPathOpsDebug::DumpContours(contours); -} - -void DumpAll(SkTDArray<SkOpContour* >* contours) { - SkPathOpsDebug::DumpContoursAll(contours); -} - -void DumpAngles(const SkTDArray<SkOpContour* >* contours) { - SkPathOpsDebug::DumpContoursAngles(contours); -} - -void DumpSegment(const SkTDArray<SkOpContour* >* contours, int segmentID) { - SkPathOpsDebug::DumpContoursSegment(contours, segmentID); -} - -void DumpSpan(const SkTDArray<SkOpContour* >* contours, int spanID) { - SkPathOpsDebug::DumpContoursSpan(contours, spanID); -} - -void DumpSpans(const SkTDArray<SkOpContour* >* contours) { - SkPathOpsDebug::DumpContoursSpans(contours); -} - -void DumpPt(const SkTDArray<SkOpContour* >* contours, int segmentID) { - SkPathOpsDebug::DumpContoursPt(contours, segmentID); -} - -void DumpPts(const SkTDArray<SkOpContour* >* contours) { - SkPathOpsDebug::DumpContoursPts(contours); -} - #if DEBUG_T_SECT_DUMP > 1 int gDumpTSectNum; #endif |