Lines Matching refs:Vertex
92 struct Vertex;
138 struct Vertex { struct
139 Vertex(const SkPoint& point) in Vertex() function
149 Vertex* fPrev; // Linked list of contours, then Y-sorted vertices. argument
150 Vertex* fNext; // " argument
186 inline SkPoint* emit_vertex(Vertex* v, SkPoint* data) { in emit_vertex()
191 SkPoint* emit_triangle(Vertex* v0, Vertex* v1, Vertex* v2, SkPoint* data) { in emit_triangle()
232 Edge(Vertex* top, Vertex* bottom, int winding) in Edge()
247 Vertex* fTop; // The top vertex in vertex-sort-order (sweep_lt).
248 Vertex* fBottom; // The bottom vertex in vertex-sort-order.
263 bool isRightOf(Vertex* v) const { in isRightOf()
266 bool isLeftOf(Vertex* v) const { in isLeftOf()
334 Vertex* fHead;
335 Vertex* fTail;
338 bool addVertex(Vertex* v, Side side, SkChunkAlloc& alloc) { in addVertex()
339 Vertex* newV = ALLOC_NEW(Vertex, (v->fPoint), alloc); in addVertex()
361 Vertex* first = fHead; in emit()
362 Vertex* v = first->fNext; in emit()
365 Vertex* prev = v->fPrev; in emit()
366 Vertex* curr = v; in emit()
367 Vertex* next = v->fNext; in emit()
388 Poly* addVertex(Vertex* v, Side side, SkChunkAlloc& alloc) { in addVertex()
411 Vertex* prev = fActive->fSide == Poly::kLeft_Side ? in addVertex()
421 void end(Vertex* v, SkChunkAlloc& alloc) { in end()
456 Poly* new_poly(Poly** head, Vertex* v, int winding, SkChunkAlloc& alloc) { in new_poly()
464 Vertex* append_point_to_contour(const SkPoint& p, Vertex* prev, Vertex** head, in append_point_to_contour()
466 Vertex* v = ALLOC_NEW(Vertex, (p), alloc); in append_point_to_contour()
480 Vertex* generate_quadratic_points(const SkPoint& p0, in generate_quadratic_points()
484 Vertex* prev, in generate_quadratic_points()
485 Vertex** head, in generate_quadratic_points()
505 Vertex* generate_cubic_points(const SkPoint& p0, in generate_cubic_points()
510 Vertex* prev, in generate_cubic_points()
511 Vertex** head, in generate_cubic_points()
539 Vertex** contours, SkChunkAlloc& alloc, bool *isLinear) { in path_to_contours()
546 Vertex* prev = nullptr; in path_to_contours()
547 Vertex* head = nullptr; in path_to_contours()
638 Edge* new_edge(Vertex* prev, Vertex* next, SkChunkAlloc& alloc, Comparator& c) { in new_edge()
640 Vertex* top = winding < 0 ? next : prev; in new_edge()
641 Vertex* bottom = winding < 0 ? prev : next; in new_edge()
658 void find_enclosing_edges(Vertex* v, EdgeList* edges, Edge** left, Edge** right) { in find_enclosing_edges()
709 void insert_edge_above(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_above()
727 void insert_edge_below(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_below()
773 void set_top(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c) { in set_top()
782 void set_bottom(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c) { in set_bottom()
848 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkChunkAlloc& alloc);
851 Vertex* top = edge->fTop; in cleanup_active_edges()
852 Vertex* bottom = edge->fBottom; in cleanup_active_edges()
854 Vertex* leftTop = edge->fLeft->fTop; in cleanup_active_edges()
855 Vertex* leftBottom = edge->fLeft->fBottom; in cleanup_active_edges()
868 Vertex* rightTop = edge->fRight->fTop; in cleanup_active_edges()
869 Vertex* rightBottom = edge->fRight->fBottom; in cleanup_active_edges()
884 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkChunkAlloc& alloc) { in split_edge()
903 void merge_vertices(Vertex* src, Vertex* dst, Vertex** head, Comparator& c, SkChunkAlloc& alloc) { in merge_vertices()
916 remove<Vertex, &Vertex::fPrev, &Vertex::fNext>(src, head, nullptr); in merge_vertices()
919 Vertex* check_for_intersection(Edge* edge, Edge* other, EdgeList* activeEdges, Comparator& c, in check_for_intersection()
926 Vertex* v; in check_for_intersection()
941 Vertex* nextV = edge->fTop; in check_for_intersection()
948 Vertex* prevV = nextV->fPrev; in check_for_intersection()
954 v = ALLOC_NEW(Vertex, (p), alloc); in check_for_intersection()
974 void sanitize_contours(Vertex** contours, int contourCnt) { in sanitize_contours()
977 for (Vertex* v = contours[i];;) { in sanitize_contours()
998 void merge_coincident_vertices(Vertex** vertices, Comparator& c, SkChunkAlloc& alloc) { in merge_coincident_vertices()
999 for (Vertex* v = (*vertices)->fNext; v != nullptr; v = v->fNext) { in merge_coincident_vertices()
1011 Vertex* build_edges(Vertex** contours, int contourCnt, Comparator& c, SkChunkAlloc& alloc) { in build_edges()
1012 Vertex* vertices = nullptr; in build_edges()
1013 Vertex* prev = nullptr; in build_edges()
1015 for (Vertex* v = contours[i]; v != nullptr;) { in build_edges()
1016 Vertex* vNext = v->fNext; in build_edges()
1045 Vertex* sorted_merge(Vertex* a, Vertex* b, Comparator& c);
1047 void front_back_split(Vertex* v, Vertex** pFront, Vertex** pBack) { in front_back_split()
1048 Vertex* fast; in front_back_split()
1049 Vertex* slow; in front_back_split()
1072 void merge_sort(Vertex** head, Comparator& c) { in merge_sort()
1077 Vertex* a; in merge_sort()
1078 Vertex* b; in merge_sort()
1087 inline void append_vertex(Vertex* v, Vertex** head, Vertex** tail) { in append_vertex()
1088 insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, *tail, nullptr, head, tail); in append_vertex()
1091 inline void append_vertex_list(Vertex* v, Vertex** head, Vertex** tail) { in append_vertex_list()
1092 insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, *tail, v->fNext, head, tail); in append_vertex_list()
1095 Vertex* sorted_merge(Vertex* a, Vertex* b, Comparator& c) { in sorted_merge()
1096 Vertex* head = nullptr; in sorted_merge()
1097 Vertex* tail = nullptr; in sorted_merge()
1101 Vertex* next = a->fNext; in sorted_merge()
1105 Vertex* next = b->fNext; in sorted_merge()
1121 void simplify(Vertex* vertices, Comparator& c, SkChunkAlloc& alloc) { in simplify()
1124 for (Vertex* v = vertices; v != nullptr; v = v->fNext) { in simplify()
1149 if (Vertex* pv = check_for_intersection(leftEnclosingEdge, rightEnclosingEdge, in simplify()
1173 Poly* tessellate(Vertex* vertices, SkChunkAlloc& alloc) { in tessellate()
1177 for (Vertex* v = vertices; v != nullptr; v = v->fNext) { in tessellate()
1291 Poly* contours_to_polys(Vertex** contours, int contourCnt, const SkRect& pathBounds, in contours_to_polys()
1303 Vertex* v = contours[i]; in contours_to_polys()
1312 Vertex* vertices = build_edges(contours, contourCnt, c, alloc); in contours_to_polys()
1321 for (Vertex* v = vertices; v != nullptr; v = v->fNext) { in contours_to_polys()
1336 SkAutoTDeleteArray<Vertex*> contours(new Vertex* [contourCnt]); in path_to_polys()
1358 *sizeEstimate = maxPts * (3 * sizeof(Vertex) + sizeof(Edge)); in get_contour_count_and_size_estimate()