| Index: tests/PathOpsDebug.cpp
|
| diff --git a/tests/PathOpsDebug.cpp b/tests/PathOpsDebug.cpp
|
| index d2e8bd086707eca8ae6841008ee6e8af07d96d40..95f06e5b7def11c2ec505bd9cf865624fae411b3 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
|
|
|