diff options
Diffstat (limited to 'experimental/skotty/SkottyAnimator.cpp')
-rw-r--r-- | experimental/skotty/SkottyAnimator.cpp | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/experimental/skotty/SkottyAnimator.cpp b/experimental/skotty/SkottyAnimator.cpp index f08e7088da..51c3d33565 100644 --- a/experimental/skotty/SkottyAnimator.cpp +++ b/experimental/skotty/SkottyAnimator.cpp @@ -16,12 +16,6 @@ SkScalar lerp_scalar(SkScalar v0, SkScalar v1, float t) { return v0 * (1 - t) + v1 * t; } -SkPoint lerp_point(const SkPoint& v0, const SkPoint& v1, float t) { - SkASSERT(t >= 0 && t <= 1); - return SkPoint::Make(lerp_scalar(v0.x(), v1.x(), t), - lerp_scalar(v0.y(), v1.y(), t)); -} - } // namespace template <> @@ -45,18 +39,7 @@ void KeyframeInterval<ShapeValue>::lerp(float t, ShapeValue* v) const { SkASSERT(fV0.cardinality() == fV1.cardinality()); SkASSERT(v->cardinality() == 0); - v->fVertices.reserve(fV0.cardinality()); - for (int i = 0; i < fV0.fVertices.count(); ++i) { - v->fVertices.push_back( - BezierVertex({ - lerp_point(fV0.fVertices[i].fInPoint , fV1.fVertices[i].fInPoint , t), - lerp_point(fV0.fVertices[i].fOutPoint, fV1.fVertices[i].fOutPoint, t), - lerp_point(fV0.fVertices[i].fVertex , fV1.fVertices[i].fVertex , t) - })); - } - - // hmm, any meaningful interpolation to consider here? - v->fClose = fV0.fClose; + SkAssertResult(fV0.fPath.interpolate(fV1.fPath, t, &v->fPath)); } } // namespace skotty |