Lines Matching refs:contours

28  * 1) Linearize the path contours into piecewise linear segments (path_to_contours()).
130 * Vertices are used in three ways: first, the path contours are converted into a
133 * in Y) using the same fPrev/fNext pointers that were used for the contours, to avoid
151 Vertex* fPrev; // Linked list of contours, then Y-sorted vertices.
538 // Stage 1: convert the input path to a set of linear contours (linked list of Vertices).
541 Vertex** contours, SkChunkAlloc& alloc) {
558 *contours++ = head;
580 *contours++ = head;
605 *contours++ = head;
613 *contours++ = head;
973 void sanitize_contours(Vertex** contours, int contourCnt) {
975 SkASSERT(contours[i]);
976 for (Vertex* v = contours[i];;) {
980 contours[i] = NULL;
985 if (contours[i] == v) {
986 contours[i] = v->fNext;
991 if (v == contours[i]) break;
1008 // Stage 2: convert the contours to a mesh of edges connecting the vertices.
1010 Vertex* build_edges(Vertex** contours, int contourCnt, Comparator& c, SkChunkAlloc& alloc) {
1014 for (Vertex* v = contours[i]; v != NULL;) {
1033 if (v == contours[i]) break;
1290 Poly* contours_to_polys(Vertex** contours, int contourCnt, Comparator& c, SkChunkAlloc& alloc) {
1293 Vertex* v = contours[i];
1296 for (v = v->fNext; v != contours[i]; v = v->fNext) {
1301 sanitize_contours(contours, contourCnt);
1302 Vertex* vertices = build_edges(contours, contourCnt, c, alloc);
1412 LOG("got %d pts, %d contours\n", maxPts, contourCnt);
1419 SkAutoTDeleteArray<Vertex*> contours(SkNEW_ARRAY(Vertex *, contourCnt));
1426 path_to_contours(fPath, tol, fClipBounds, contours.get(), alloc);
1428 polys = contours_to_polys(contours.get(), contourCnt, c, alloc);