lerp static method
- DatePickerThemeData? a,
- DatePickerThemeData? b,
- double t
Linearly interpolates between two DatePickerThemeData.
Implementation
static DatePickerThemeData lerp(DatePickerThemeData? a, DatePickerThemeData? b, double t) {
if (identical(a, b) && a != null) {
return a;
}
return DatePickerThemeData(
backgroundColor: Color.lerp(a?.backgroundColor, b?.backgroundColor, t),
elevation: lerpDouble(a?.elevation, b?.elevation, t),
shadowColor: Color.lerp(a?.shadowColor, b?.shadowColor, t),
surfaceTintColor: Color.lerp(a?.surfaceTintColor, b?.surfaceTintColor, t),
shape: ShapeBorder.lerp(a?.shape, b?.shape, t),
headerBackgroundColor: Color.lerp(a?.headerBackgroundColor, b?.headerBackgroundColor, t),
headerForegroundColor: Color.lerp(a?.headerForegroundColor, b?.headerForegroundColor, t),
headerHeadlineStyle: TextStyle.lerp(a?.headerHeadlineStyle, b?.headerHeadlineStyle, t),
headerHelpStyle: TextStyle.lerp(a?.headerHelpStyle, b?.headerHelpStyle, t),
weekdayStyle: TextStyle.lerp(a?.weekdayStyle, b?.weekdayStyle, t),
dayStyle: TextStyle.lerp(a?.dayStyle, b?.dayStyle, t),
dayForegroundColor: MaterialStateProperty.lerp<Color?>(
a?.dayForegroundColor,
b?.dayForegroundColor,
t,
Color.lerp,
),
dayBackgroundColor: MaterialStateProperty.lerp<Color?>(
a?.dayBackgroundColor,
b?.dayBackgroundColor,
t,
Color.lerp,
),
dayOverlayColor: MaterialStateProperty.lerp<Color?>(
a?.dayOverlayColor,
b?.dayOverlayColor,
t,
Color.lerp,
),
dayShape: MaterialStateProperty.lerp<OutlinedBorder?>(
a?.dayShape,
b?.dayShape,
t,
OutlinedBorder.lerp,
),
todayForegroundColor: MaterialStateProperty.lerp<Color?>(
a?.todayForegroundColor,
b?.todayForegroundColor,
t,
Color.lerp,
),
todayBackgroundColor: MaterialStateProperty.lerp<Color?>(
a?.todayBackgroundColor,
b?.todayBackgroundColor,
t,
Color.lerp,
),
todayBorder: _lerpBorderSide(a?.todayBorder, b?.todayBorder, t),
yearStyle: TextStyle.lerp(a?.yearStyle, b?.yearStyle, t),
yearForegroundColor: MaterialStateProperty.lerp<Color?>(
a?.yearForegroundColor,
b?.yearForegroundColor,
t,
Color.lerp,
),
yearBackgroundColor: MaterialStateProperty.lerp<Color?>(
a?.yearBackgroundColor,
b?.yearBackgroundColor,
t,
Color.lerp,
),
yearOverlayColor: MaterialStateProperty.lerp<Color?>(
a?.yearOverlayColor,
b?.yearOverlayColor,
t,
Color.lerp,
),
rangePickerBackgroundColor: Color.lerp(
a?.rangePickerBackgroundColor,
b?.rangePickerBackgroundColor,
t,
),
rangePickerElevation: lerpDouble(a?.rangePickerElevation, b?.rangePickerElevation, t),
rangePickerShadowColor: Color.lerp(a?.rangePickerShadowColor, b?.rangePickerShadowColor, t),
rangePickerSurfaceTintColor: Color.lerp(
a?.rangePickerSurfaceTintColor,
b?.rangePickerSurfaceTintColor,
t,
),
rangePickerShape: ShapeBorder.lerp(a?.rangePickerShape, b?.rangePickerShape, t),
rangePickerHeaderBackgroundColor: Color.lerp(
a?.rangePickerHeaderBackgroundColor,
b?.rangePickerHeaderBackgroundColor,
t,
),
rangePickerHeaderForegroundColor: Color.lerp(
a?.rangePickerHeaderForegroundColor,
b?.rangePickerHeaderForegroundColor,
t,
),
rangePickerHeaderHeadlineStyle: TextStyle.lerp(
a?.rangePickerHeaderHeadlineStyle,
b?.rangePickerHeaderHeadlineStyle,
t,
),
rangePickerHeaderHelpStyle: TextStyle.lerp(
a?.rangePickerHeaderHelpStyle,
b?.rangePickerHeaderHelpStyle,
t,
),
rangeSelectionBackgroundColor: Color.lerp(
a?.rangeSelectionBackgroundColor,
b?.rangeSelectionBackgroundColor,
t,
),
rangeSelectionOverlayColor: MaterialStateProperty.lerp<Color?>(
a?.rangeSelectionOverlayColor,
b?.rangeSelectionOverlayColor,
t,
Color.lerp,
),
dividerColor: Color.lerp(a?.dividerColor, b?.dividerColor, t),
inputDecorationTheme: t < 0.5 ? a?.inputDecorationTheme : b?.inputDecorationTheme,
cancelButtonStyle: ButtonStyle.lerp(a?.cancelButtonStyle, b?.cancelButtonStyle, t),
confirmButtonStyle: ButtonStyle.lerp(a?.confirmButtonStyle, b?.confirmButtonStyle, t),
locale: t < 0.5 ? a?.locale : b?.locale,
);
}