lerp static method
Linearly interpolate between two themes.
The arguments must not be null.
Implementation
static SfRangeSelectorThemeData? lerp(
SfRangeSelectorThemeData? a, SfRangeSelectorThemeData? b, double t) {
if (a == null && b == null) {
return null;
}
return SfRangeSelectorThemeData(
activeTrackHeight:
lerpDouble(a!.activeTrackHeight, b!.activeTrackHeight, t)!,
inactiveTrackHeight:
lerpDouble(a.inactiveTrackHeight, b.inactiveTrackHeight, t)!,
tickSize: Size.lerp(a.tickSize, b.tickSize, t),
minorTickSize: Size.lerp(a.minorTickSize, b.minorTickSize, t),
tickOffset: Offset.lerp(a.tickOffset, b.tickOffset, t),
labelOffset: Offset.lerp(a.labelOffset, b.labelOffset, t),
inactiveLabelStyle:
TextStyle.lerp(a.inactiveLabelStyle, b.inactiveLabelStyle, t),
activeLabelStyle:
TextStyle.lerp(a.activeLabelStyle, b.activeLabelStyle, t),
tooltipTextStyle:
TextStyle.lerp(a.tooltipTextStyle, b.tooltipTextStyle, t),
inactiveTrackColor:
Color.lerp(a.inactiveTrackColor, b.inactiveTrackColor, t),
activeTrackColor: Color.lerp(a.activeTrackColor, b.activeTrackColor, t),
thumbColor: Color.lerp(a.thumbColor, b.thumbColor, t),
thumbStrokeColor: Color.lerp(a.thumbStrokeColor, b.thumbStrokeColor, t),
overlappingThumbStrokeColor: Color.lerp(
a.overlappingThumbStrokeColor, b.overlappingThumbStrokeColor, t),
activeDividerStrokeColor: Color.lerp(
a.activeDividerStrokeColor, b.activeDividerStrokeColor, t),
inactiveDividerStrokeColor: Color.lerp(
a.inactiveDividerStrokeColor, b.inactiveDividerStrokeColor, t),
activeTickColor: Color.lerp(a.activeTickColor, b.activeTickColor, t),
inactiveTickColor:
Color.lerp(a.inactiveTickColor, b.inactiveTickColor, t),
disabledActiveTickColor:
Color.lerp(a.disabledActiveTickColor, b.disabledActiveTickColor, t),
disabledInactiveTickColor: Color.lerp(
a.disabledInactiveTickColor, b.disabledInactiveTickColor, t),
activeMinorTickColor:
Color.lerp(a.activeMinorTickColor, b.activeMinorTickColor, t),
inactiveMinorTickColor:
Color.lerp(a.inactiveMinorTickColor, b.inactiveMinorTickColor, t),
disabledActiveMinorTickColor: Color.lerp(
a.disabledActiveMinorTickColor, b.disabledActiveMinorTickColor, t),
disabledInactiveMinorTickColor: Color.lerp(
a.disabledInactiveMinorTickColor,
b.disabledInactiveMinorTickColor,
t),
overlayColor: Color.lerp(a.overlayColor, b.overlayColor, t),
inactiveDividerColor:
Color.lerp(a.inactiveDividerColor, b.inactiveDividerColor, t),
activeDividerColor:
Color.lerp(a.activeDividerColor, b.activeDividerColor, t),
disabledActiveTrackColor: Color.lerp(
a.disabledActiveTrackColor, b.disabledActiveTrackColor, t),
disabledInactiveTrackColor: Color.lerp(
a.disabledInactiveTrackColor, b.disabledInactiveTrackColor, t),
disabledActiveDividerColor: Color.lerp(
a.disabledActiveDividerColor, b.disabledActiveDividerColor, t),
disabledInactiveDividerColor: Color.lerp(
a.disabledInactiveDividerColor, b.disabledInactiveDividerColor, t),
disabledThumbColor:
Color.lerp(a.disabledThumbColor, b.disabledThumbColor, t),
activeRegionColor:
Color.lerp(a.activeRegionColor, b.activeRegionColor, t),
inactiveRegionColor:
Color.lerp(a.inactiveRegionColor, b.inactiveRegionColor, t),
tooltipBackgroundColor:
Color.lerp(a.tooltipBackgroundColor, b.tooltipBackgroundColor, t),
// ignore: lines_longer_than_80_chars
overlappingTooltipStrokeColor: Color.lerp(a.overlappingTooltipStrokeColor, b.overlappingTooltipStrokeColor, t),
// ignore: lines_longer_than_80_chars
trackCornerRadius: lerpDouble(a.trackCornerRadius, b.trackCornerRadius, t),
overlayRadius: lerpDouble(a.overlayRadius, b.overlayRadius, t)!,
thumbRadius: lerpDouble(a.thumbRadius, b.thumbRadius, t)!,
// ignore: lines_longer_than_80_chars
activeDividerRadius: lerpDouble(a.activeDividerRadius, b.activeDividerRadius, t),
// ignore: lines_longer_than_80_chars
inactiveDividerRadius: lerpDouble(a.inactiveDividerRadius, b.inactiveDividerRadius, t),
thumbStrokeWidth: lerpDouble(a.thumbStrokeWidth, b.thumbStrokeWidth, t),
// ignore: lines_longer_than_80_chars
activeDividerStrokeWidth: lerpDouble(a.activeDividerStrokeWidth, b.activeDividerStrokeWidth, t),
// ignore: lines_longer_than_80_chars
inactiveDividerStrokeWidth: lerpDouble(a.inactiveDividerStrokeWidth, b.inactiveDividerStrokeWidth, t));
}