createInterpolation function
Interpolation
createInterpolation({
- required List<
num> inputRange, - required List<
num> outputRange, - Easing? easing,
- ExtrapolateType extrapolate = ExtrapolateType.Clamp,
- ExtrapolateType? extrapolateLeft,
- ExtrapolateType? extrapolateRight,
Implementation
Interpolation createInterpolation ({
required List<num> inputRange,
required List<num> outputRange ,
Easing? easing,
ExtrapolateType extrapolate = ExtrapolateType.Clamp,
ExtrapolateType? extrapolateLeft,
ExtrapolateType? extrapolateRight,
}) {
assert(inputRange.length == outputRange.length, 'inputRange (${inputRange.length}) and outputRange (${outputRange.length}) must have the same length');
checkInfiniteRange('outputRange', outputRange);
checkInfiniteRange('inputRange', inputRange);
checkValidInputRange(inputRange);
return (num input) {
final range = _findRange(input, inputRange);
return _interpolate(
input,
inputRange[range],
inputRange[range + 1],
outputRange[range],
outputRange[range + 1],
easing ?? _linear,
extrapolateLeft ?? extrapolate,
extrapolateRight ?? extrapolate,
);
};
}