Lines Matching defs:next
39 static void list_insert(T* t, T* prev, T* next, T** head, T** tail) {
41 t->*Next = next;
47 if (next) {
48 next->*Prev = t;
113 void GrTriangulator::VertexList::insert(Vertex* v, Vertex* prev, Vertex* next) {
114 list_insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, prev, next, &fHead, &fTail);
289 void GrTriangulator::EdgeList::insert(Edge* edge, Edge* prev, Edge* next) {
290 list_insert<Edge, &Edge::fLeft, &Edge::fRight>(edge, prev, next, &fHead, &fTail);
335 Vertex* next = v->fNext;
337 return this->emitTriangle(prev, curr, next, monotonePoly->fWinding, data);
341 double bx = static_cast<double>(next->fPoint.fX) - curr->fPoint.fX;
342 double by = static_cast<double>(next->fPoint.fY) - curr->fPoint.fY;
344 data = this->emitTriangle(prev, curr, next, monotonePoly->fWinding, data);
360 void* GrTriangulator::emitTriangle(Vertex* prev, Vertex* curr, Vertex* next, int winding,
365 std::swap(prev, next);
371 fBreadcrumbList.append(fAlloc, prev->fPoint, curr->fPoint, next->fPoint, abs(winding) - 1);
373 return emit_triangle(prev, curr, next, fEmitCoverage, data);
542 while ((verb = iter.next(pts)) != SkPath::kDone_Verb) {
619 Edge* GrTriangulator::makeEdge(Vertex* prev, Vertex* next, EdgeType type,
621 SkASSERT(prev->fPoint != next->fPoint);
622 int winding = c.sweep_lt(prev->fPoint, next->fPoint) ? 1 : -1;
623 Vertex* top = winding < 0 ? next : prev;
624 Vertex* bottom = winding < 0 ? prev : next;
631 Edge* next = prev ? prev->fRight : fHead;
632 this->insert(edge, prev, next);
641 Edge* next = nullptr;
647 next = prev;
650 *right = next;
660 Edge* next;
661 for (next = v->fFirstEdgeAbove; next; next = next->fNextEdgeAbove) {
662 if (next->isRightOf(fTop)) {
665 prev = next;
668 this, prev, next, &v->fFirstEdgeAbove, &v->fLastEdgeAbove);
678 Edge* next;
679 for (next = v->fFirstEdgeBelow; next; next = next->fNextEdgeBelow) {
680 if (next->isRightOf(fBottom)) {
683 prev = next;
686 this, prev, next, &v->fFirstEdgeBelow, &v->fLastEdgeBelow);
955 Edge* GrTriangulator::makeConnectingEdge(Vertex* prev, Vertex* next, EdgeType type,
957 if (!prev || !next || prev->fPoint == next->fPoint) {
960 Edge* edge = this->makeEdge(prev, next, type, c);
1120 Vertex* next = v->fNext;
1121 Vertex* nextWrap = next ? next : contour->fHead;
1135 v = next;
1146 Vertex* next = v->fNext;
1154 v = next;
1166 Vertex* next = v->fNext;
1170 v = next;
1545 while ((verb = iter.next(pts)) != SkPath::kDone_Verb) {