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: TooltipThemeData.lerp(a.tooltipTheme, b.tooltipTheme, t),
    visualDensity: VisualDensity.lerp(a.visualDensity, b.visualDensity, t),
    scrollbarTheme:
        ScrollbarThemeData.lerp(a.scrollbarTheme, b.scrollbarTheme, t),
    macosIconButtonTheme: MacosIconButtonThemeData.lerp(
      a.macosIconButtonTheme,
      b.macosIconButtonTheme,
      t,
    ),
    iconTheme: MacosIconThemeData.lerp(a.iconTheme, b.iconTheme, t),
    macosPopupButtonTheme: MacosPopupButtonThemeData.lerp(
      a.macosPopupButtonTheme,
      b.macosPopupButtonTheme,
      t,
    ),
    textFieldTheme:
        MacosTextFieldThemeData.lerp(a.textFieldTheme, b.textFieldTheme, t),
  );
}