Home | History | Annotate | Download | only in core

Lines Matching refs:pts

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