Lines Matching refs:span
13 return this->span()->ptT() != this;
98 void SkOpPtT::init(SkOpSpanBase* span, double t, const SkPoint& pt, bool duplicate) {
101 fSpan = span;
106 SkDEBUGCODE(fID = span->globalState()->nextPtTID());
110 const SkOpSpanBase* span = this->span();
111 if (span->ptT() != this) {
115 return span == segment->head() || span == segment->tail();
139 return span()->segment();
143 return span()->segment();
147 SkASSERT(this->span()->debugDeleted() || this->span()->ptT() != this);
191 bool SkOpSpanBase::contains(const SkOpSpanBase* span) const {
193 const SkOpPtT* check = &span->fPtT;
211 if (walk->segment() == segment && walk->span()->ptT() == walk) {
253 void SkOpSpanBase::merge(SkOpSpan* span) {
254 SkOpPtT* spanPtT = span->ptT();
257 span->release(this->ptT());
258 if (this->contains(span)) {
269 if (nextC->span() == remainder->span() && nextC->fT == remainder->fT) {
278 fSpanAdds += span->fSpanAdds;
287 // the insert above may have put both ends of a coincident run in the same span
289 // this implementation is the motivation for marking that a ptT is referenced by a coincident span
320 SkOpSpanBase* testBase = test->span();
335 SkOpSpanBase* innerBase = inner->span();
337 // when the intersection is first detected, the span base is marked if there are
414 SkOpSpan* span;
415 SkOpSpanBase* base = next->span();
419 const SkOpSpanBase* spanEnd = spanEndPtT->span();
421 FAIL_IF(!start->span()->upCastable());
422 span = const_cast<SkOpSpan*>(start->span()->upCast());
424 span = base->prev();
425 FAIL_IF(!span);
428 span = base->upCast();
430 this->insertCoincidence(span);
435 SkASSERT(0); // FIXME? if we get here, the span is missing its opposite segment...
442 SkOPASSERT(kept->span() != this);
458 const SkOpSpanBase* keptSpan = kept->span();
460 if (this == testPtT->span()) {