lerp static method
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),
);
}