Lines Matching refs:contours

27  * 1) Linearize the path contours into piecewise linear segments (path_to_contours()).
128 * Vertices are used in three ways: first, the path contours are converted into a
131 * in Y) using the same fPrev/fNext pointers that were used for the contours, to avoid
149 Vertex* fPrev; // Linked list of contours, then Y-sorted vertices.
536 // Stage 1: convert the input path to a set of linear contours (linked list of Vertices).
539 Vertex** contours, SkChunkAlloc& alloc, bool *isLinear) {
556 *contours++ = head;
579 *contours++ = head;
606 *contours++ = head;
614 *contours++ = head;
974 void sanitize_contours(Vertex** contours, int contourCnt) {
976 SkASSERT(contours[i]);
977 for (Vertex* v = contours[i];;) {
981 contours[i] = nullptr;
986 if (contours[i] == v) {
987 contours[i] = v->fNext;
992 if (v == contours[i]) break;
1009 // Stage 2: convert the contours to a mesh of edges connecting the vertices.
1011 Vertex* build_edges(Vertex** contours, int contourCnt, Comparator& c, SkChunkAlloc& alloc) {
1015 for (Vertex* v = contours[i]; v != nullptr;) {
1034 if (v == contours[i]) break;
1291 Poly* contours_to_polys(Vertex** contours, int contourCnt, const SkRect& pathBounds,
1303 Vertex* v = contours[i];
1306 for (v = v->fNext; v != contours[i]; v = v->fNext) {
1311 sanitize_contours(contours, contourCnt);
1312 Vertex* vertices = build_edges(contours, contourCnt, c, alloc);
1336 SkAutoTDeleteArray<Vertex*> contours(new Vertex* [contourCnt]);
1338 path_to_contours(path, tolerance, clipBounds, contours.get(), alloc, isLinear);
1339 return contours_to_polys(contours.get(), contourCnt, path.getBounds(), alloc);