Lines Matching refs:Vertex
29 using Vertex = GrTriangulator::Vertex;
83 static inline void* emit_vertex(Vertex* v, bool emitCoverage, void* data) {
94 static void* emit_triangle(Vertex* v0, Vertex* v1, Vertex* v2, bool emitCoverage, void* data) {
113 void GrTriangulator::VertexList::insert(Vertex* v, Vertex* prev, Vertex* next) {
114 list_insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, prev, next, &fHead, &fTail);
117 void GrTriangulator::VertexList::remove(Vertex* v) {
118 list_remove<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, &fHead, &fTail);
329 Vertex* first = vertices.fHead;
330 Vertex* v = first->fNext;
333 Vertex* prev = v->fPrev;
334 Vertex* curr = v;
335 Vertex* next = v->fNext;
360 void* GrTriangulator::emitTriangle(Vertex* prev, Vertex* curr, Vertex* next, int winding,
376 GrTriangulator::Poly::Poly(Vertex* v, int winding)
448 Poly* GrTriangulator::makePoly(Poly** head, Vertex* v, int winding) const {
456 Vertex* v = fAlloc->make<Vertex>(p, 255);
619 Edge* GrTriangulator::makeEdge(Vertex* prev, Vertex* next, EdgeType type,
623 Vertex* top = winding < 0 ? next : prev;
624 Vertex* bottom = winding < 0 ? prev : next;
635 void GrTriangulator::FindEnclosingEdges(Vertex* v, EdgeList* edges, Edge** left, Edge** right) {
653 void GrTriangulator::Edge::insertAbove(Vertex* v, const Comparator& c) {
671 void GrTriangulator::Edge::insertBelow(Vertex* v, const Comparator& c) {
710 static void rewind(EdgeList* activeEdges, Vertex** current, Vertex* dst, const Comparator& c) {
714 Vertex* v = *current;
725 Vertex* top = e->fTop;
736 static void rewind_if_necessary(Edge* edge, EdgeList* activeEdges, Vertex** current,
741 Vertex* top = edge->fTop;
742 Vertex* bottom = edge->fBottom;
744 Vertex* leftTop = edge->fLeft->fTop;
745 Vertex* leftBottom = edge->fLeft->fBottom;
758 Vertex* rightTop = edge->fRight->fTop;
759 Vertex* rightBottom = edge->fRight->fBottom;
774 void GrTriangulator::setTop(Edge* edge, Vertex* v, EdgeList* activeEdges, Vertex** current,
788 void GrTriangulator::setBottom(Edge* edge, Vertex* v, EdgeList* activeEdges, Vertex** current,
803 Vertex** current, const Comparator& c) const {
824 Vertex** current, const Comparator& c) const {
860 void GrTriangulator::mergeCollinearEdges(Edge* edge, EdgeList* activeEdges, Vertex** current,
881 bool GrTriangulator::splitEdge(Edge* edge, Vertex* v, EdgeList* activeEdges, Vertex** current,
888 Vertex* top;
889 Vertex* bottom;
923 Vertex** current, const Comparator& c) const {
955 Edge* GrTriangulator::makeConnectingEdge(Vertex* prev, Vertex* next, EdgeType type,
968 void GrTriangulator::mergeVertices(Vertex* src, Vertex* dst, VertexList* mesh,
986 Vertex* GrTriangulator::makeSortedVertex(const SkPoint& p, uint8_t alpha, VertexList* mesh,
987 Vertex* reference, const Comparator& c) const {
988 Vertex* prevV = reference;
992 Vertex* nextV = prevV ? prevV->fNext : mesh->fHead;
997 Vertex* v;
1003 v = fAlloc->make<Vertex>(p, alpha);
1036 void GrTriangulator::computeBisector(Edge* edge1, Edge* edge2, Vertex* v) const {
1051 v->fPartner = fAlloc->make<Vertex>(p, alpha);
1057 Vertex** current, VertexList* mesh,
1065 Vertex* v;
1067 Vertex* top = *current;
1108 Vertex* prev = contour->fTail;
1114 for (Vertex* v = contour->fHead; v;) {
1120 Vertex* next = v->fNext;
1121 Vertex* nextWrap = next ? next : contour->fHead;
1145 for (Vertex* v = mesh->fHead->fNext; v;) {
1146 Vertex* next = v->fNext;
1164 Vertex* prev = contour->fTail;
1165 for (Vertex* v = contour->fHead; v;) {
1166 Vertex* next = v->fNext;
1177 Vertex* a = front->fHead;
1178 Vertex* b = back->fHead;
1203 for (Vertex* v = result->fHead; v; v = v->fNext) {
1213 Vertex* slow = vertices->fHead;
1217 Vertex* fast = slow->fNext;
1241 for (Vertex* v = fHead; v; v = v->fNext) {
1243 if (Vertex* p = v->fPartner) {
1301 for (Vertex* v = mesh->fHead; v != nullptr; v = v->fNext) {
1357 for (Vertex* v = vertices.fHead; v != nullptr; v = v->fNext) {
1473 Vertex* v = contours[i].fHead;
1497 for (Vertex* v = vertices->fHead; v != nullptr; v = v->fNext) {