aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/skotty/SkottyAnimator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/skotty/SkottyAnimator.cpp')
-rw-r--r--experimental/skotty/SkottyAnimator.cpp19
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