lerp static method

Linearly interpolate between two themes.

Implementation

static MacosThemeData lerp(MacosThemeData a, MacosThemeData b, double t) {
  return MacosThemeData.raw(
    brightness: t < 0.5 ? a.brightness : b.brightness,
    dividerColor: Color.lerp(a.dividerColor, b.dividerColor, t)!,
    primaryColor: Color.lerp(a.primaryColor, b.primaryColor, t)!,
    canvasColor: Color.lerp(a.primaryColor, b.primaryColor, t)!,
    typography: MacosTypography.lerp(a.typography, b.typography, t),
    helpButtonTheme:
        HelpButtonThemeData.lerp(a.helpButtonTheme, b.helpButtonTheme, t),
    pushButtonTheme:
        PushButtonThemeData.lerp(a.pushButtonTheme, b.pushButtonTheme, t),
    tooltipTheme:
        MacosTooltipThemeData.lerp(a.tooltipTheme, b.tooltipTheme, t),
    visualDensity: VisualDensity.lerp(a.visualDensity, b.visualDensity, t),
    scrollbarTheme:
        MacosScrollbarThemeData.lerp(a.scrollbarTheme, b.scrollbarTheme, t),
    iconButtonTheme: MacosIconButtonThemeData.lerp(
      a.iconButtonTheme,
      b.iconButtonTheme,
      t,
    ),
    iconTheme: MacosIconThemeData.lerp(a.iconTheme, b.iconTheme, t),
    popupButtonTheme: MacosPopupButtonThemeData.lerp(
      a.popupButtonTheme,
      b.popupButtonTheme,
      t,
    ),
    pulldownButtonTheme: MacosPulldownButtonThemeData.lerp(
      a.pulldownButtonTheme,
      b.pulldownButtonTheme,
      t,
    ),
    datePickerTheme: MacosDatePickerThemeData.lerp(
      a.datePickerTheme,
      b.datePickerTheme,
      t,
    ),
    timePickerTheme: MacosTimePickerThemeData.lerp(
      a.timePickerTheme,
      b.timePickerTheme,
      t,
    ),
    searchFieldTheme: MacosSearchFieldThemeData.lerp(
      a.searchFieldTheme,
      b.searchFieldTheme,
      t,
    ),
  );
}