interpolate<T, U> function

U interpolate<T, U>(
  1. T value,
  2. List<T> inputRange,
  3. List<U> outputRange, [
  4. Extrapolate extrapolate = Extrapolate.EXTEND,
  5. Extrapolate? right,
])

Implementation

U interpolate<T, U>(T value, List<T> inputRange, List<U> outputRange,
    [Extrapolate extrapolate = Extrapolate.EXTEND, Extrapolate? right]) {
  assert(
      outputRange.first is Offset ||
          outputRange.first is Color ||
          outputRange.first is double,
      "outputRange must be a list of Offset, Color or double");
  assert(value is double || value is Offset,
      "value must be a double or an Offset");
  assert(value is Offset && outputRange.first is Offset,
      "if value is Offset the outputRange must be a list of Offset");

  if (value is Offset) {
    return _interpolateOffset(value, inputRange as List<Offset>,
        outputRange as List<Offset>, extrapolate, right) as U;
  }
  return _interpolateAll<U>(
      value as num, inputRange as List<num>, outputRange, extrapolate, right);
}