HSVColor lerp(HSVColor a, HSVColor b, double t)

Linearly interpolate between two HSVColors.

If either color is null, this function linearly interpolates from a transparent instance of the other color.

Source

static HSVColor lerp(HSVColor a, HSVColor b, double t) {
  if (a == null && b == null)
    return null;
  if (a == null)
    return b._scaleAlpha(t);
  if (b == null)
    return a._scaleAlpha(1.0 - t);
  return new HSVColor.fromAHSV(
    lerpDouble(a.alpha, b.alpha, t),
    lerpDouble(a.hue, b.hue, t),
    lerpDouble(a.saturation, b.saturation, t),
    lerpDouble(a.value, b.value, t)
  );
}