| package com.airbnb.lottie.value; |
| |
| import androidx.annotation.RestrictTo; |
| |
| /** |
| * Data class for use with {@link LottieValueCallback}. |
| * You should *not* hold a reference to the frame info parameter passed to your callback. It will be reused. |
| */ |
| public class LottieFrameInfo<T> { |
| private float startFrame; |
| private float endFrame; |
| private T startValue; |
| private T endValue; |
| private float linearKeyframeProgress; |
| private float interpolatedKeyframeProgress; |
| private float overallProgress; |
| |
| @RestrictTo(RestrictTo.Scope.LIBRARY) |
| public LottieFrameInfo<T> set( |
| float startFrame, |
| float endFrame, |
| T startValue, |
| T endValue, |
| float linearKeyframeProgress, |
| float interpolatedKeyframeProgress, |
| float overallProgress |
| ) { |
| this.startFrame = startFrame; |
| this.endFrame = endFrame; |
| this.startValue = startValue; |
| this.endValue = endValue; |
| this.linearKeyframeProgress = linearKeyframeProgress; |
| this.interpolatedKeyframeProgress = interpolatedKeyframeProgress; |
| this.overallProgress = overallProgress; |
| return this; |
| } |
| |
| public float getStartFrame() { |
| return startFrame; |
| } |
| |
| public float getEndFrame() { |
| return endFrame; |
| } |
| |
| public T getStartValue() { |
| return startValue; |
| } |
| |
| public T getEndValue() { |
| return endValue; |
| } |
| |
| public float getLinearKeyframeProgress() { |
| return linearKeyframeProgress; |
| } |
| |
| public float getInterpolatedKeyframeProgress() { |
| return interpolatedKeyframeProgress; |
| } |
| |
| public float getOverallProgress() { |
| return overallProgress; |
| } |
| } |