Lines Matching refs:fTail
228 VertexList() : fHead(nullptr), fTail(nullptr) {} in VertexList()
229 VertexList(Vertex* head, Vertex* tail) : fHead(head), fTail(tail) {} in VertexList()
231 Vertex* fTail; member
233 list_insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, prev, next, &fHead, &fTail); in insert()
236 insert(v, fTail, nullptr); in append()
242 if (fTail) { in append()
243 fTail->fNext = list.fHead; in append()
244 list.fHead->fPrev = fTail; in append()
248 fTail = list.fTail; in append()
254 list_remove<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, &fHead, &fTail); in remove()
257 if (fHead && fTail) { in close()
258 fTail->fNext = fHead; in close()
259 fHead->fPrev = fTail; in close()
440 EdgeList() : fHead(nullptr), fTail(nullptr) {} in EdgeList()
442 Edge* fTail; member
444 list_insert<Edge, &Edge::fLeft, &Edge::fRight>(edge, prev, next, &fHead, &fTail); in insert()
447 insert(e, fTail, nullptr); in append()
450 list_remove<Edge, &Edge::fLeft, &Edge::fRight>(edge, &fHead, &fTail); in remove()
458 if (fHead && fTail) { in close()
459 fTail->fRight = fHead; in close()
460 fHead->fLeft = fTail; in close()
508 , fTail(nullptr) in Poly()
565 while (v != vertices.fTail) { in emit()
611 if (!fTail) { in addEdge()
612 fHead = fTail = alloc.make<MonotonePoly>(e, side); in addEdge()
614 } else if (e->fBottom == fTail->fLastEdge->fBottom) { in addEdge()
616 } else if (side == fTail->fSide) { in addEdge()
617 fTail->addEdge(e); in addEdge()
620 e = alloc.make<Edge>(fTail->fLastEdge->fBottom, e->fBottom, 1, Edge::Type::kInner); in addEdge()
621 fTail->addEdge(e); in addEdge()
628 m->fPrev = fTail; in addEdge()
629 fTail->fNext = m; in addEdge()
630 fTail = m; in addEdge()
645 Vertex* lastVertex() const { return fTail ? fTail->fLastEdge->fBottom : fFirstVertex; } in lastVertex()
649 MonotonePoly* fTail; member
853 for (prev = edges->fTail; prev != nullptr; prev = prev->fLeft) { in find_enclosing_edges()
1191 v->fID = mesh->fTail->fID + 1.0f; in create_sorted_vertex()
1278 Vertex* prev = contour->fTail; in sanitize_contours()
1329 Vertex* prev = contour->fTail; in build_edges()
1407 VertexList back(slow->fNext, vertices->fTail); in merge_sort()
1408 front.fTail->fNext = back.fHead->fPrev = nullptr; in merge_sort()
1413 vertices->fHead = vertices->fTail = nullptr; in merge_sort()
1524 SkASSERT(!activeEdges.fHead && !activeEdges.fTail); in simplify()
1595 if (leftPoly->fTail && leftPoly->fTail->fSide == Poly::kLeft_Side) { in tessellate()
1707 Edge* prevEdge = boundary->fTail; in simplify_boundary()
1732 prevEdge = boundary->fTail; in simplify_boundary()
1874 Edge* prevEdge = boundary->fTail; in stroke_boundary()
1967 if (!inversion(innerVertices.fTail, innerVertex1, prevEdge, c)) { in stroke_boundary()
1970 if (!inversion(outerVertices.fTail, outerVertex1, prevEdge, c)) { in stroke_boundary()
1984 if (!inversion(innerVertices.fTail, innerVertex, prevEdge, c)) { in stroke_boundary()
1987 if (!inversion(outerVertices.fTail, outerVertex, prevEdge, c)) { in stroke_boundary()
2000 if (!inversion(innerVertices.fTail, innerVertices.fHead, prevEdge, c)) { in stroke_boundary()
2003 if (!inversion(outerVertices.fTail, outerVertices.fHead, prevEdge, c)) { in stroke_boundary()
2016 connect(innerVertices.fTail, innerVertices.fHead, Edge::Type::kInner, c, alloc, innerWinding); in stroke_boundary()
2020 connect(outerVertices.fTail, outerVertices.fHead, Edge::Type::kOuter, c, alloc, outerWinding); in stroke_boundary()
2149 outerMesh->fHead = outerMesh->fTail = nullptr; in contours_to_polys()