Lines Matching refs:curve
33 static bool can_add_curve(SkPath::Verb verb, SkPoint* curve) {
38 curve[index] = force_small_to_zero(curve[index]);
40 return SkPath::kLine_Verb != verb || !SkDPoint::ApproximatelyEqual(curve[0], curve[1]);
89 SkPoint curve[4];
96 closeContour(curve[0], curveStart);
99 curve[0] = force_small_to_zero(pts[0]);
100 *fPathPts.append() = curve[0];
101 curveStart = curve[0];
105 curve[1] = force_small_to_zero(pts[1]);
106 if (SkDPoint::ApproximatelyEqual(curve[0], curve[1])) {
109 fPathPts.top() = curve[0] = curve[1];
115 curve[1] = force_small_to_zero(pts[1]);
116 curve[2] = force_small_to_zero(pts[2]);
117 verb = SkReduceOrder::Quad(curve, curve);
123 curve[1] = force_small_to_zero(pts[1]);
124 curve[2] = force_small_to_zero(pts[2]);
125 verb = SkReduceOrder::Quad(curve, curve);
133 curve[1] = force_small_to_zero(pts[1]);
134 curve[2] = force_small_to_zero(pts[2]);
135 curve[3] = force_small_to_zero(pts[3]);
136 verb = SkReduceOrder::Cubic(curve, curve);
142 closeContour(curve[0], curveStart);
150 fPathPts.append(ptCount, &curve[1]);
154 curve[0] = curve[ptCount];
158 closeContour(curve[0], curveStart);
291 SkPoint* curve = SkPath::kCubic_Verb == split->fVerb
293 split->fCanAdd = can_add_curve(split->fVerb, curve);
320 SkPoint* curve = SkPath::kCubic_Verb == split->fVerb
322 if (!can_add_curve(split->fVerb, curve)) {
325 fContourBuilder.addCurve(split->fVerb, curve);