lerp static method

RadioStyle? lerp(
  1. RadioStyle? a,
  2. RadioStyle? b,
  3. double t
)

Linearly interpolate between two RadioStyle objects.

Implementation

static RadioStyle? lerp(RadioStyle? a, RadioStyle? b, double t) {
  if (a == null && b == null) return null;
  return RadioStyle(
    size: lerpDouble(a?.size, b?.size, t),
    shape: lerpEnum(a?.shape, b?.shape, t),
    margin: EdgeInsetsGeometry.lerp(a?.margin, b?.margin, t),
    padding: EdgeInsetsGeometry.lerp(a?.padding, b?.padding, t),
    backgroundColor: Color.lerp(a?.backgroundColor, b?.backgroundColor, t),
    backgroundOpacity:
        lerpDouble(a?.backgroundOpacity, b?.backgroundOpacity, t),
    backgroundAlpha: lerpInt(a?.backgroundAlpha, b?.backgroundAlpha, t),
    borderColor: Color.lerp(a?.borderColor, b?.borderColor, t),
    borderOpacity: lerpDouble(a?.borderOpacity, b?.borderOpacity, t),
    borderAlpha: lerpInt(a?.borderAlpha, b?.borderAlpha, t),
    borderWidth: lerpDouble(a?.borderWidth, b?.borderWidth, t),
    borderRadius:
        BorderRadiusGeometry.lerp(a?.borderRadius, b?.borderRadius, t),
    borderStyle: lerpEnum(a?.borderStyle, b?.borderStyle, t),
    thumbInset: lerpDouble(a?.thumbInset, b?.thumbInset, t),
    thumbColor: Color.lerp(a?.thumbColor, b?.thumbColor, t),
    thumbOpacity: lerpDouble(a?.thumbOpacity, b?.thumbOpacity, t),
    thumbAlpha: lerpInt(a?.thumbAlpha, b?.thumbAlpha, t),
    overlayColor: Color.lerp(a?.overlayColor, b?.overlayColor, t),
    overlayOpacity: lerpDouble(a?.overlayOpacity, b?.overlayOpacity, t),
    overlayDisabled: lerpBool(a?.overlayDisabled, b?.overlayDisabled, t),
    overlayRadius: lerpDouble(a?.overlayRadius, b?.overlayRadius, t),
  );
}