lerp static method
Linearly interpolate between two SwitchStyle objects.
Implementation
static SwitchStyle? lerp(SwitchStyle? a, SwitchStyle? b, double t) {
if (a == null && b == null) return null;
return SwitchStyle(
size: Size.lerp(a?.size, b?.size, t),
margin: EdgeInsetsGeometry.lerp(a?.margin, b?.margin, t),
padding: EdgeInsetsGeometry.lerp(a?.padding, b?.padding, t),
trackBorderRadius: BorderRadiusGeometry.lerp(
a?.trackBorderRadius, b?.trackBorderRadius, t),
trackBorderColor: Color.lerp(a?.trackBorderColor, b?.trackBorderColor, t),
trackBorderOpacity:
lerpDouble(a?.trackBorderOpacity, b?.trackBorderOpacity, t),
trackBorderAlpha: lerpInt(a?.trackBorderAlpha, b?.trackBorderAlpha, t),
trackBorderWidth: lerpDouble(a?.trackBorderWidth, b?.trackBorderWidth, t),
trackColor: Color.lerp(a?.trackColor, b?.trackColor, t),
trackOpacity: lerpDouble(a?.trackOpacity, b?.trackOpacity, t),
trackAlpha: lerpInt(a?.trackAlpha, b?.trackAlpha, t),
trackHeight: lerpDouble(a?.trackHeight, b?.trackHeight, t),
thumbShape: lerpEnum(a?.thumbShape, b?.thumbShape, t),
thumbColor: Color.lerp(a?.thumbColor, b?.thumbColor, t),
thumbOpacity: lerpDouble(a?.thumbOpacity, b?.thumbOpacity, t),
thumbAlpha: lerpInt(a?.thumbAlpha, b?.thumbAlpha, t),
thumbInset: lerpDouble(a?.thumbInset, b?.thumbInset, t),
thumbSize: lerpDouble(a?.thumbSize, b?.thumbSize, t),
thumbShadow: Color.lerp(a?.thumbShadow, b?.thumbShadow, t),
thumbElevation: lerpDouble(a?.thumbElevation, b?.thumbElevation, 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),
);
}