lerp static method

Linearly interpolate between two CheckboxStyle objects.

Implementation

static CheckboxStyle? lerp(CheckboxStyle? a, CheckboxStyle? b, double t) {
  if (a == null && b == null) return null;
  return CheckboxStyle(
    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: BorderRadius.lerp(a?.borderRadius, b?.borderRadius, t),
    borderStyle: lerpEnum(a?.borderStyle, b?.borderStyle, t),
    checkmarkInset: lerpDouble(a?.checkmarkInset, b?.checkmarkInset, t),
    checkmarkColor: Color.lerp(a?.checkmarkColor, b?.checkmarkColor, t),
    checkmarkWeight: lerpDouble(a?.checkmarkWeight, b?.checkmarkWeight, t),
    checkmarkStyle: lerpEnum(a?.checkmarkStyle, b?.checkmarkStyle, 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),
  );
}