Lines Matching refs:pts
78 static bool quad_too_curvy(const SkPoint pts[3]) { in quad_too_curvy()
81 SkScalar dx = SkScalarHalf(pts[1].fX) - in quad_too_curvy()
82 SkScalarHalf(SkScalarHalf(pts[0].fX + pts[2].fX)); in quad_too_curvy()
83 SkScalar dy = SkScalarHalf(pts[1].fY) - in quad_too_curvy()
84 SkScalarHalf(SkScalarHalf(pts[0].fY + pts[2].fY)); in quad_too_curvy()
97 static bool cubic_too_curvy(const SkPoint pts[4]) { in cubic_too_curvy()
98 return cheap_dist_exceeds_limit(pts[1], in cubic_too_curvy()
99 SkScalarInterp(pts[0].fX, pts[3].fX, SK_Scalar1/3), in cubic_too_curvy()
100 SkScalarInterp(pts[0].fY, pts[3].fY, SK_Scalar1/3)) in cubic_too_curvy()
102 cheap_dist_exceeds_limit(pts[2], in cubic_too_curvy()
103 SkScalarInterp(pts[0].fX, pts[3].fX, SK_Scalar1*2/3), in cubic_too_curvy()
104 SkScalarInterp(pts[0].fY, pts[3].fY, SK_Scalar1*2/3)); in cubic_too_curvy()
107 SkScalar SkPathMeasure::compute_quad_segs(const SkPoint pts[3], in compute_quad_segs()
109 if (tspan_big_enough(maxt - mint) && quad_too_curvy(pts)) { in compute_quad_segs()
113 SkChopQuadAtHalf(pts, tmp); in compute_quad_segs()
117 SkScalar d = SkPoint::Distance(pts[0], pts[2]); in compute_quad_segs()
131 SkScalar SkPathMeasure::compute_cubic_segs(const SkPoint pts[4], in compute_cubic_segs()
133 if (tspan_big_enough(maxt - mint) && cubic_too_curvy(pts)) { in compute_cubic_segs()
137 SkChopCubicAtHalf(pts, tmp); in compute_cubic_segs()
141 SkScalar d = SkPoint::Distance(pts[0], pts[3]); in compute_cubic_segs()
156 SkPoint pts[4]; in buildSegments() local
165 switch (fIter.next(pts)) { in buildSegments()
175 d = SkPoint::Distance(pts[0], pts[1]); in buildSegments()
190 distance = this->compute_quad_segs(pts, distance, 0, in buildSegments()
196 distance = this->compute_cubic_segs(pts, distance, 0, in buildSegments()
249 const SkPoint* pts = sk_get_path_points(path, ptIndex); in compute_pos_tan() local
255 &pts[1] : in compute_pos_tan()
259 pos->set(SkScalarInterp(pts[0].fX, endp->fX, t), in compute_pos_tan()
260 SkScalarInterp(pts[0].fY, endp->fY, t)); in compute_pos_tan()
263 tangent->setNormalize(endp->fX - pts[0].fX, endp->fY - pts[0].fY); in compute_pos_tan()
268 SkEvalQuadAt(pts, t, pos, tangent); in compute_pos_tan()
274 SkEvalCubicAt(pts, t, pos, tangent, NULL); in compute_pos_tan()
294 const SkPoint* pts = sk_get_path_points(src, ptIndex); in seg_to() local
301 &pts[1] : in seg_to()
307 dst->lineTo(SkScalarInterp(pts[0].fX, endp->fX, stopT), in seg_to()
308 SkScalarInterp(pts[0].fY, endp->fY, stopT)); in seg_to()
315 dst->quadTo(pts[1], pts[2]); in seg_to()
317 SkChopQuadAt(pts, tmp0, stopT); in seg_to()
321 SkChopQuadAt(pts, tmp0, startT); in seg_to()
334 dst->cubicTo(pts[1], pts[2], pts[3]); in seg_to()
336 SkChopCubicAt(pts, tmp0, stopT); in seg_to()
340 SkChopCubicAt(pts, tmp0, startT); in seg_to()