Lines Matching refs:span

19 // given the top span, project the most perpendicular ray and look for intersections
87 SkOpRayDir makeTestBase(SkOpSpan* span, double t) {
89 fSpan = span;
90 fT = span->t() * (1 - t) + span->next()->t() * t;
91 SkOpSegment* segment = span->segment();
174 SkOpSpan* span = this->windingSpanAtT(t);
175 if (!span) {
177 } else if (!span->windValue() && !span->oppValue()) {
184 newHit->fSpan = span;
192 SkOpSpan* span = &fHead;
195 next = span->next();
200 return span;
202 } while (!next->final() && (span = next->upCast()));
278 SkOpSpan* span = hit->fSpan;
279 SkOpSegment* hitSegment = span ? span->segment() : nullptr;
280 bool operand = span ? hitSegment->operand() : false;
282 SkDebugf("%s [%d] valid=%d operand=%d span=%d ccw=%d ", __FUNCTION__, index,
283 hit->fValid, operand, span ? span->debugID() : -1, ccw);
284 if (span) {
301 SkOpSpan* span = hit->fSpan;
302 if (!span) {
305 SkOpSegment* hitSegment = span->segment();
306 if (span->windValue() == 0 && span->oppValue() == 0) {
325 int windValue = ccw ? -span->windValue() : span->windValue();
326 int oppValue = ccw ? -span->oppValue() : span->oppValue();
330 int spanSum = span->windSum();
333 span->setWindSum(windSum);
344 int oSpanSum = span->oppSum();
347 span->setOppSum(oppSum);
359 (void) hitSegment->markAndChaseWinding(span, span->next(), windSum, oppSum, nullptr);
360 (void) hitSegment->markAndChaseWinding(span->next(), span, windSum, oppSum, nullptr);
374 SkOpSpan* span = &fHead;
377 next = span->next();
378 if (span->done()) {
381 if (span->windSum() != SK_MinS32) {
382 return span;
384 if (span->sortableTop(contourHead)) {
385 return span;
387 } while (!next->final() && (span = next->upCast()));