Lines Matching refs:coin
434 SkCoincidentSpans* coin = this->fHead; in addExpanded() local
435 if (!coin) { in addExpanded()
439 const SkOpPtT* startPtT = coin->coinPtTStart(); in addExpanded()
440 const SkOpPtT* oStartPtT = coin->oppPtTStart(); in addExpanded()
444 SkOPASSERT(coin->coinPtTEnd()->contains(coin->oppPtTEnd())); in addExpanded()
447 const SkOpSpanBase* end = coin->coinPtTEnd()->span(); in addExpanded()
448 const SkOpSpanBase* oEnd = coin->oppPtTEnd()->span(); in addExpanded()
452 FAIL_IF(!coin->flipped() && !oStart->upCastable()); in addExpanded()
453 const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next(); in addExpanded()
477 && walk != coin->coinPtTEnd()->span()); in addExpanded()
502 end = coin->coinPtTEnd()->span(); in addExpanded()
503 oEnd = coin->oppPtTEnd()->span(); in addExpanded()
512 if (coin->flipped()) { in addExpanded()
522 } while ((coin = coin->next())); in addExpanded()
944 bool SkOpCoincidence::contains(const SkCoincidentSpans* coin, const SkOpSegment* seg, in contains() argument
946 if (!coin) { in contains()
950 if (coin->coinPtTStart()->segment() == seg && coin->oppPtTStart()->segment() == opp in contains()
951 && between(coin->oppPtTStart()->fT, oppT, coin->oppPtTEnd()->fT)) { in contains()
954 if (coin->oppPtTStart()->segment() == seg && coin->coinPtTStart()->segment() == opp in contains()
955 && between(coin->coinPtTStart()->fT, oppT, coin->coinPtTEnd()->fT)) { in contains()
958 } while ((coin = coin->next())); in contains()
1008 SkCoincidentSpans* coin = fHead; in correctEnds() local
1009 if (!coin) { in correctEnds()
1013 coin->correctEnds(); in correctEnds()
1014 } while ((coin = coin->next())); in correctEnds()
1020 SkCoincidentSpans* coin = fHead; in apply() local
1021 if (!coin) { in apply()
1025 SkOpSpanBase* startSpan = coin->coinPtTStartWritable()->span(); in apply()
1031 const SkOpSpanBase* end = coin->coinPtTEnd()->span(); in apply()
1033 bool flipped = coin->flipped(); in apply()
1034 SkOpSpanBase* oStartBase = (flipped ? coin->oppPtTEndWritable() in apply()
1035 : coin->oppPtTStartWritable())->span(); in apply()
1041 const SkOpSpanBase* oEnd = (flipped ? coin->oppPtTStart() : coin->oppPtTEnd())->span(); in apply()
1147 } while ((coin = coin->next())); in apply()
1152 bool SkOpCoincidence::release(SkCoincidentSpans* coin, SkCoincidentSpans* remove) { in release() argument
1153 SkCoincidentSpans* head = coin; in release()
1157 next = coin->next(); in release()
1158 if (coin == remove) { in release()
1168 prev = coin; in release()
1169 } while ((coin = next)); in release()
1170 return coin != nullptr; in release()
1173 void SkOpCoincidence::releaseDeleted(SkCoincidentSpans* coin) { in releaseDeleted() argument
1174 if (!coin) { in releaseDeleted()
1177 SkCoincidentSpans* head = coin; in releaseDeleted()
1181 next = coin->next(); in releaseDeleted()
1182 if (coin->coinPtTStart()->deleted()) { in releaseDeleted()
1183 SkOPASSERT(coin->flipped() ? coin->oppPtTEnd()->deleted() : in releaseDeleted()
1184 coin->oppPtTStart()->deleted()); in releaseDeleted()
1193 SkOPASSERT(coin->flipped() ? !coin->oppPtTEnd()->deleted() : in releaseDeleted()
1194 !coin->oppPtTStart()->deleted()); in releaseDeleted()
1195 prev = coin; in releaseDeleted()
1197 } while ((coin = next)); in releaseDeleted()
1228 SkCoincidentSpans* coin = fHead; in expand() local
1229 if (!coin) { in expand()
1234 if (coin->expand()) { in expand()
1238 if (coin == test) { in expand()
1241 if (coin->coinPtTStart() == test->coinPtTStart() in expand()
1242 && coin->oppPtTStart() == test->oppPtTStart()) { in expand()
1249 } while ((coin = coin->next())); in expand()
1299 void SkOpCoincidence::fixUp(SkCoincidentSpans* coin, SkOpPtT* deleted, const SkOpPtT* kept) { in fixUp() argument
1300 SkCoincidentSpans* head = coin; in fixUp()
1302 if (coin->coinPtTStart() == deleted) { in fixUp()
1303 if (coin->coinPtTEnd()->span() == kept->span()) { in fixUp()
1304 this->release(head, coin); in fixUp()
1307 coin->setCoinPtTStart(kept); in fixUp()
1309 if (coin->coinPtTEnd() == deleted) { in fixUp()
1310 if (coin->coinPtTStart()->span() == kept->span()) { in fixUp()
1311 this->release(head, coin); in fixUp()
1314 coin->setCoinPtTEnd(kept); in fixUp()
1316 if (coin->oppPtTStart() == deleted) { in fixUp()
1317 if (coin->oppPtTEnd()->span() == kept->span()) { in fixUp()
1318 this->release(head, coin); in fixUp()
1321 coin->setOppPtTStart(kept); in fixUp()
1323 if (coin->oppPtTEnd() == deleted) { in fixUp()
1324 if (coin->oppPtTStart()->span() == kept->span()) { in fixUp()
1325 this->release(head, coin); in fixUp()
1328 coin->setOppPtTEnd(kept); in fixUp()
1330 } while ((coin = coin->next())); in fixUp()
1337 SkCoincidentSpans* coin = fHead; in mark() local
1338 if (!coin) { in mark()
1342 SkOpSpanBase* startBase = coin->coinPtTStartWritable()->span(); in mark()
1346 SkOpSpanBase* end = coin->coinPtTEndWritable()->span(); in mark()
1348 SkOpSpanBase* oStart = coin->oppPtTStartWritable()->span(); in mark()
1350 SkOpSpanBase* oEnd = coin->oppPtTEndWritable()->span(); in mark()
1352 bool flipped = coin->flipped(); in mark()
1367 FAIL_IF(!coin->ordered(&ordered)); in mark()
1376 } while ((coin = coin->next())); in mark()
1381 void SkOpCoincidence::markCollapsed(SkCoincidentSpans* coin, SkOpPtT* test) { in markCollapsed() argument
1382 SkCoincidentSpans* head = coin; in markCollapsed()
1383 while (coin) { in markCollapsed()
1384 if (coin->collapsed(test)) { in markCollapsed()
1385 if (zero_or_one(coin->coinPtTStart()->fT) && zero_or_one(coin->coinPtTEnd()->fT)) { in markCollapsed()
1386 coin->coinPtTStartWritable()->segment()->markAllDone(); in markCollapsed()
1388 if (zero_or_one(coin->oppPtTStart()->fT) && zero_or_one(coin->oppPtTEnd()->fT)) { in markCollapsed()
1389 coin->oppPtTStartWritable()->segment()->markAllDone(); in markCollapsed()
1391 this->release(head, coin); in markCollapsed()
1393 coin = coin->next(); in markCollapsed()
1436 SkCoincidentSpans* coin = fHead; in release() local
1437 if (!coin) { in release()
1441 if (coin->coinPtTStart()->segment() == deleted in release()
1442 || coin->coinPtTEnd()->segment() == deleted in release()
1443 || coin->oppPtTStart()->segment() == deleted in release()
1444 || coin->oppPtTEnd()->segment() == deleted) { in release()
1445 this->release(fHead, coin); in release()
1447 } while ((coin = coin->next())); in release()