OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 #ifndef SkOpCoincidence_DEFINED | 7 #ifndef SkOpCoincidence_DEFINED |
8 #define SkOpCoincidence_DEFINED | 8 #define SkOpCoincidence_DEFINED |
9 | 9 |
10 #include "SkTDArray.h" | 10 #include "SkTDArray.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 SkCoincidentSpans* next() { return fNext; } | 65 SkCoincidentSpans* next() { return fNext; } |
66 const SkCoincidentSpans* next() const { return fNext; } | 66 const SkCoincidentSpans* next() const { return fNext; } |
67 SkCoincidentSpans** nextPtr() { return &fNext; } | 67 SkCoincidentSpans** nextPtr() { return &fNext; } |
68 int spanCount() const; | 68 int spanCount() const; |
69 | 69 |
70 void set(SkCoincidentSpans* next, const SkOpPtT* coinPtTStart, const SkOpPtT
* coinPtTEnd, | 70 void set(SkCoincidentSpans* next, const SkOpPtT* coinPtTStart, const SkOpPtT
* coinPtTEnd, |
71 const SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd | 71 const SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd |
72 SkDEBUGPARAMS(int id)); | 72 SkDEBUGPARAMS(int id)); |
73 | 73 |
74 void setCoinPtTEnd(const SkOpPtT* ptT) { | 74 void setCoinPtTEnd(const SkOpPtT* ptT) { |
75 SkOPASSERT(ptT == ptT->span()->ptT()) | 75 SkOPASSERT(ptT == ptT->span()->ptT()); |
76 SkASSERT(!fCoinPtTStart || ptT->fT != fCoinPtTStart->fT); | 76 SkASSERT(!fCoinPtTStart || ptT->fT != fCoinPtTStart->fT); |
77 SkASSERT(!fCoinPtTStart || fCoinPtTStart->segment() == ptT->segment()); | 77 SkASSERT(!fCoinPtTStart || fCoinPtTStart->segment() == ptT->segment()); |
78 fCoinPtTEnd = ptT; | 78 fCoinPtTEnd = ptT; |
79 ptT->setCoincident(); | 79 ptT->setCoincident(); |
80 } | 80 } |
81 | 81 |
82 void setCoinPtTStart(const SkOpPtT* ptT) { | 82 void setCoinPtTStart(const SkOpPtT* ptT) { |
83 SkASSERT(ptT == ptT->span()->ptT()) | 83 SkASSERT(ptT == ptT->span()->ptT()); |
84 SkASSERT(!fCoinPtTEnd || ptT->fT != fCoinPtTEnd->fT); | 84 SkASSERT(!fCoinPtTEnd || ptT->fT != fCoinPtTEnd->fT); |
85 SkASSERT(!fCoinPtTEnd || fCoinPtTEnd->segment() == ptT->segment()); | 85 SkASSERT(!fCoinPtTEnd || fCoinPtTEnd->segment() == ptT->segment()); |
86 fCoinPtTStart = ptT; | 86 fCoinPtTStart = ptT; |
87 ptT->setCoincident(); | 87 ptT->setCoincident(); |
88 } | 88 } |
89 | 89 |
90 void setEnds(const SkOpPtT* coinPtTEnd, const SkOpPtT* oppPtTEnd) { | 90 void setEnds(const SkOpPtT* coinPtTEnd, const SkOpPtT* oppPtTEnd) { |
91 this->setCoinPtTEnd(coinPtTEnd); | 91 this->setCoinPtTEnd(coinPtTEnd); |
92 this->setOppPtTEnd(oppPtTEnd); | 92 this->setOppPtTEnd(oppPtTEnd); |
93 } | 93 } |
94 | 94 |
95 void setOppPtTEnd(const SkOpPtT* ptT) { | 95 void setOppPtTEnd(const SkOpPtT* ptT) { |
96 SkOPASSERT(ptT == ptT->span()->ptT()) | 96 SkOPASSERT(ptT == ptT->span()->ptT()); |
97 SkASSERT(!fOppPtTStart || ptT->fT != fOppPtTStart->fT); | 97 SkASSERT(!fOppPtTStart || ptT->fT != fOppPtTStart->fT); |
98 SkASSERT(!fOppPtTStart || fOppPtTStart->segment() == ptT->segment()); | 98 SkASSERT(!fOppPtTStart || fOppPtTStart->segment() == ptT->segment()); |
99 fOppPtTEnd = ptT; | 99 fOppPtTEnd = ptT; |
100 ptT->setCoincident(); | 100 ptT->setCoincident(); |
101 } | 101 } |
102 | 102 |
103 void setOppPtTStart(const SkOpPtT* ptT) { | 103 void setOppPtTStart(const SkOpPtT* ptT) { |
104 SkASSERT(ptT == ptT->span()->ptT()) | 104 SkASSERT(ptT == ptT->span()->ptT()); |
105 SkASSERT(!fOppPtTEnd || ptT->fT != fOppPtTEnd->fT); | 105 SkASSERT(!fOppPtTEnd || ptT->fT != fOppPtTEnd->fT); |
106 SkASSERT(!fOppPtTEnd || fOppPtTEnd->segment() == ptT->segment()); | 106 SkASSERT(!fOppPtTEnd || fOppPtTEnd->segment() == ptT->segment()); |
107 fOppPtTStart = ptT; | 107 fOppPtTStart = ptT; |
108 ptT->setCoincident(); | 108 ptT->setCoincident(); |
109 } | 109 } |
110 | 110 |
111 void setStarts(const SkOpPtT* coinPtTStart, const SkOpPtT* oppPtTStart) { | 111 void setStarts(const SkOpPtT* coinPtTStart, const SkOpPtT* oppPtTStart) { |
112 this->setCoinPtTStart(coinPtTStart); | 112 this->setCoinPtTStart(coinPtTStart); |
113 this->setOppPtTStart(oppPtTStart); | 113 this->setOppPtTStart(oppPtTStart); |
114 } | 114 } |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 SkCoincidentSpans* fTop; | 304 SkCoincidentSpans* fTop; |
305 SkOpGlobalState* fGlobalState; | 305 SkOpGlobalState* fGlobalState; |
306 bool fContinue; | 306 bool fContinue; |
307 bool fSpanDeleted; | 307 bool fSpanDeleted; |
308 bool fPtAllocated; | 308 bool fPtAllocated; |
309 bool fCoinExtended; | 309 bool fCoinExtended; |
310 bool fSpanMerged; | 310 bool fSpanMerged; |
311 }; | 311 }; |
312 | 312 |
313 #endif | 313 #endif |
OLD | NEW |