copyWith method

MacosThemeData copyWith({
  1. Brightness? brightness,
  2. Color? primaryColor,
  3. Color? canvasColor,
  4. MacosTypography? typography,
  5. PushButtonThemeData? pushButtonTheme,
  6. Color? dividerColor,
  7. HelpButtonThemeData? helpButtonTheme,
  8. TooltipThemeData? tooltipTheme,
  9. VisualDensity? visualDensity,
  10. ScrollbarThemeData? scrollbarTheme,
  11. MacosIconButtonThemeData? macosIconButtonTheme,
  12. MacosIconThemeData? iconTheme,
  13. MacosPopupButtonThemeData? macosPopupButtonTheme,
  14. MacosTextFieldThemeData? textFieldTheme,
})

Creates a copy of this theme but with the given fields replaced with the new values.

Implementation

MacosThemeData copyWith({
  Brightness? brightness,
  Color? primaryColor,
  Color? canvasColor,
  MacosTypography? typography,
  PushButtonThemeData? pushButtonTheme,
  Color? dividerColor,
  HelpButtonThemeData? helpButtonTheme,
  TooltipThemeData? tooltipTheme,
  VisualDensity? visualDensity,
  ScrollbarThemeData? scrollbarTheme,
  MacosIconButtonThemeData? macosIconButtonTheme,
  MacosIconThemeData? iconTheme,
  MacosPopupButtonThemeData? macosPopupButtonTheme,
  MacosTextFieldThemeData? textFieldTheme,
}) {
  return MacosThemeData.raw(
    brightness: brightness ?? this.brightness,
    primaryColor: primaryColor ?? this.primaryColor,
    canvasColor: canvasColor ?? this.canvasColor,
    dividerColor: dividerColor ?? this.dividerColor,
    typography: this.typography.merge(typography),
    pushButtonTheme: this.pushButtonTheme.merge(pushButtonTheme),
    helpButtonTheme: this.helpButtonTheme.merge(helpButtonTheme),
    tooltipTheme: this.tooltipTheme.merge(tooltipTheme),
    visualDensity: visualDensity ?? this.visualDensity,
    scrollbarTheme: this.scrollbarTheme.merge(scrollbarTheme),
    macosIconButtonTheme:
        this.macosIconButtonTheme.merge(macosIconButtonTheme),
    iconTheme: this.iconTheme.merge(iconTheme),
    macosPopupButtonTheme:
        this.macosPopupButtonTheme.merge(macosPopupButtonTheme),
    textFieldTheme: this.textFieldTheme.merge(textFieldTheme),
  );
}