package com.airbnb.lottie; import java.util.List; import static com.airbnb.lottie.MiscUtils.lerp; class ScaleKeyframeAnimation extends KeyframeAnimation<ScaleXY> { ScaleKeyframeAnimation(List<Keyframe<ScaleXY>> keyframes) { super(keyframes); } @Override public ScaleXY getValue(Keyframe<ScaleXY> keyframe, float keyframeProgress) { if (keyframe.startValue == null || keyframe.endValue == null) { throw new IllegalStateException("Missing values for keyframe."); } ScaleXY startTransform = keyframe.startValue; ScaleXY endTransform = keyframe.endValue; return new ScaleXY( lerp(startTransform.getScaleX(), endTransform.getScaleX(), keyframeProgress), lerp(startTransform.getScaleY(), endTransform.getScaleY(), keyframeProgress)); } }