19 return this->
span()->
ptT() !=
this;
28 while ((ptT = ptT->
next()) != stopPtT) {
40 while ((ptT = ptT->
next()) != stopPtT) {
52 while ((ptT = ptT->
next()) != stopPtT) {
63 while ((ptT = ptT->
next()) != stopPtT) {
75 while ((ptT = ptT->
next()) != stopPtT) {
95 }
while (stopPtT != ptT);
117 if (span->
ptT() !=
this) {
125 while (
this !=
check) {
126 if (this->
fPt == check->
fPt) {
171 const SkOpPtT* startNext =
nullptr;
173 double min = walk->
fT;
176 int safetyNet = 100000;
181 if (walk == startNext) {
192 startNext =
start->next();
227 while ((
next =
next->fCoinEnd) !=
this) {
270 while (remainder != spanPtT) {
275 if (nextC->
span() == remainder->
span() && nextC->
fT == remainder->
fT) {
276 goto tryNextRemainder;
280 spanPtT->
insert(remainder);
299 if (!
test->coincident()) {
317 int safetyHatch = 1000000;
319 if (!--safetyHatch) {
322 testNext =
test->next();
323 if (
test->deleted()) {
333 const SkOpPtT* innerStop = inner;
360 const SkOpPtT* debugInner = inner;
361 while ((debugInner = debugInner->
next()) != innerStop) {
372 }
while ((inner = inner->
next()) != innerStop);
373 }
while ((
test = testNext) != stop);
394 }
while ((
next =
next->fCoincident) !=
this);
409 fAlreadyAdded =
false;
429 }
else if (flipped) {
434 span =
base->upCast();
459 coincidence->
fixUp(this->
ptT(), kept);
466 if (
this == testPtT->
span()) {
469 }
while ((testPtT = testPtT->
next()) != stopPtT);
static float next(float f)
static float prev(float f)
#define check(reporter, ref, unref, make, kill)
static constexpr int32_t SK_MinS32
#define DEBUG_LIMIT_WIND_SUM
bool between(double a, double b, double c)
bool zero_or_one(double x)
SkDEBUGCODE(SK_SPI) SkThreadID SkGetThreadID()
void markCollapsed(SkOpPtT *)
void fixUp(SkOpPtT *deleted, const SkOpPtT *kept)
SkOpGlobalState * globalState() const
SkOpContourHead * contourHead()
SkOpCoincidence * coincidence()
const SkOpSpanBase * span() const
const SkOpPtT * next() const
SkOpGlobalState * globalState() const
SkOpPtT * oppPrev(const SkOpPtT *opp) const
void addOpp(SkOpPtT *opp, SkOpPtT *oppPrev)
void setSpan(const SkOpSpanBase *span)
bool ptAlreadySeen(const SkOpPtT *head) const
const SkOpSegment * segment() const
const SkOpPtT * active() const
void insert(SkOpPtT *span)
SkOpContour * contour() const
void init(SkOpSpanBase *, double t, const SkPoint &, bool dup)
const SkOpPtT * find(const SkOpSegment *) const
bool contains(const SkOpPtT *) const
const SkOpSpanBase * tail() const
void release(const SkOpSpan *)
const SkOpSpan * head() const
SkOpContour * contour() const
const SkPoint & pt() const
Collapsed collapsed(double s, double e) const
const SkOpSpan * prev() const
bool containsCoinEnd(const SkOpSpanBase *coin) const
void merge(SkOpSpan *span)
bool mergeMatches(SkOpSpanBase *opp)
SkOpContour * contour() const
SkOpGlobalState * globalState() const
void initBase(SkOpSegment *parent, SkOpSpan *prev, double t, const SkPoint &pt)
bool addOpp(SkOpSpanBase *opp)
bool contains(const SkOpSpanBase *) const
SkDEBUGCODE(int fCount;) SkDEBUGCODE(int fID
void setPrev(SkOpSpan *prev)
void checkForCollapsedCoincidence()
SkOpSegment * segment() const
const SkOpPtT * ptT() const
bool sortableTop(SkOpContour *)
bool insertCoincidence(const SkOpSegment *, bool flipped, bool ordered)
SkOpSpanBase * next() const
void setNext(SkOpSpanBase *nextT)
void setWindSum(int windSum)
bool containsCoincidence(const SkOpSegment *) const
void setOppSum(int oppSum)
void release(const SkOpPtT *)
void init(SkOpSegment *parent, SkOpSpan *prev, double t, const SkPoint &pt)
static float max(float r, float g, float b)
static float min(float r, float g, float b)
int compare(const void *untyped_lhs, const void *untyped_rhs)