Lines Matching refs:segments
349 static inline void add_line(const SkPoint pts[2], PathSegmentArray* segments) {
350 segments->push_back();
351 segments->back().fType = PathSegment::kLine;
352 segments->back().fPts[0] = pts[0];
353 segments->back().fPts[1] = pts[1];
355 segments->back().init();
358 static inline void add_quad(const SkPoint pts[3], PathSegmentArray* segments) {
366 add_line(line_pts, segments);
369 segments->push_back();
370 segments->back().fType = PathSegment::kQuad;
371 segments->back().fPts[0] = pts[0];
372 segments->back().fPts[1] = pts[1];
373 segments->back().fPts[2] = pts[2];
375 segments->back().init();
380 PathSegmentArray* segments) {
385 add_quad(&quads[q], segments);
626 static void calculate_distance_field_data(PathSegmentArray* segments,
629 int count = segments->count();
632 PathSegment& segment = (*segments)[a];
776 // polygonize path into line and quad segments
778 SkSTArray<15, PathSegment, true> segments;
782 add_line(e.fPts, &segments);
786 add_quad(e.fPts, &segments);
793 add_quad(quadPts + 2*i, &segments);
798 add_cubic(e.fPts, &segments);
805 calculate_distance_field_data(&segments, dataPtr, width, height);