use crate::{
foundation::colorspace::Color, foundation::TargetPlatform, ui::Brightness,
widgets::IconThemeData,
};
use super::{
AppBarTheme, BottomAppBarTheme, BottomNavigationBarThemeData, BottomSheetThemeData,
ButtonBarThemeData, ButtonThemeData, CardTheme, CheckboxThemeData, ChipThemeData, ColorScheme,
DataTableThemeData, DialogTheme, DividerThemeData, ElevatedButtonThemeData,
FloatingActionButtonThemeData, InputDecorationTheme, InteractiveInkFeatureFactory,
MaterialBannerThemeData, MaterialColor, MaterialTapTargetSize, NavigationRailThemeData,
OutlinedButtonThemeData, PageTransitionsTheme, PopupMenuThemeData, ProgressIndicatorThemeData,
RadioThemeData, ScrollbarThemeData, SliderThemeData, SnackBarThemeData, SwitchThemeData,
TabBarTheme, TextButtonThemeData, TextSelectionThemeData, TextTheme, TimePickerThemeData,
ToggleButtonsThemeData, TooltipThemeData, Typography, VisualDensity,
};
// copyWith({Brightness? brightness, VisualDensity? visualDensity, Color? primaryColor, Brightness? primaryColorBrightness, Color? primaryColorLight, Color? primaryColorDark, Color? accentColor, Brightness? accentColorBrightness, Color? canvasColor, Color? shadowColor, Color? scaffoldBackgroundColor, Color? bottomAppBarColor, Color? cardColor, Color? dividerColor, Color? focusColor, Color? hoverColor, Color? highlightColor, Color? splashColor, InteractiveInkFeatureFactory? splashFactory, Color? selectedRowColor, Color? unselectedWidgetColor, Color? disabledColor, ButtonThemeData? buttonTheme, ToggleButtonsThemeData? toggleButtonsTheme, Color? buttonColor, Color? secondaryHeaderColor, Color? textSelectionColor, Color? cursorColor, Color? textSelectionHandleColor, Color? backgroundColor, Color? dialogBackgroundColor, Color? indicatorColor, Color? hintColor, Color? errorColor, Color? toggleableActiveColor, TextTheme? textTheme, TextTheme? primaryTextTheme, TextTheme? accentTextTheme, InputDecorationTheme? inputDecorationTheme, IconThemeData? iconTheme, IconThemeData? primaryIconTheme, IconThemeData? accentIconTheme, SliderThemeData? sliderTheme, TabBarTheme? tabBarTheme, TooltipThemeData? tooltipTheme, CardTheme? cardTheme, ChipThemeData? chipTheme, TargetPlatform? platform, MaterialTapTargetSize? materialTapTargetSize, bool? applyElevationOverlayColor, PageTransitionsTheme? pageTransitionsTheme, AppBarTheme? appBarTheme, ScrollbarThemeData? scrollbarTheme, BottomAppBarTheme? bottomAppBarTheme, ColorScheme? colorScheme, DialogTheme? dialogTheme, FloatingActionButtonThemeData? floatingActionButtonTheme, NavigationRailThemeData? navigationRailTheme, Typography? typography, NoDefaultCupertinoThemeData? cupertinoOverrideTheme, SnackBarThemeData? snackBarTheme, BottomSheetThemeData? bottomSheetTheme, PopupMenuThemeData? popupMenuTheme, MaterialBannerThemeData? bannerTheme, DividerThemeData? dividerTheme, ButtonBarThemeData? buttonBarTheme, BottomNavigationBarThemeData? bottomNavigationBarTheme, TimePickerThemeData? timePickerTheme, TextButtonThemeData? textButtonTheme, ElevatedButtonThemeData? elevatedButtonTheme, OutlinedButtonThemeData? outlinedButtonTheme, TextSelectionThemeData? textSelectionTheme, DataTableThemeData? dataTableTheme, CheckboxThemeData? checkboxTheme, RadioThemeData? radioTheme, SwitchThemeData? switchTheme, ProgressIndicatorThemeData? progressIndicatorTheme, bool? fixTextFieldOutlineLabel, bool? useTextSelectionTheme}) -> ThemeData
// Creates a copy of this theme but with the given fields replaced with the new values.
//
// debugFillProperties(DiagnosticPropertiesBuilder properties) -> void
// Add additional properties associated with the node.
pub struct ThemeData {
pub brightness: Brightness,
pub visual_density: VisualDensity,
pub primary_swatch: MaterialColor,
pub primary_color: Color,
pub primary_color_brightness: Brightness,
pub primary_color_light: Color,
pub primary_color_dark: Color,
// @Deprecated("Use colorScheme.secondary instead.")
pub accent_color: Color,
// @Deprecated("No longer used by the framework, please remove any reference to it.")
pub accent_color_brightness: Brightness,
pub canvas_color: Color,
pub shadow_color: Color,
pub scaffold_background_color: Color,
pub bottom_app_bar_color: Color,
pub card_color: Color,
pub divider_color: Color,
pub focus_color: Color,
pub hover_color: Color,
pub highlight_color: Color,
pub splash_color: Color,
pub splash_factory: InteractiveInkFeatureFactory,
pub selected_row_color: Color,
pub unselected_widget_color: Color,
pub disabled_color: Color,
// @Deprecated("No longer used by the framework, please remove any reference to it.")
pub button_color: Color,
pub button_theme: ButtonThemeData,
pub toggle_buttons_theme: ToggleButtonsThemeData,
pub secondary_header_color: Color,
// @Deprecated("Use TextSelectionThemeData.selectionColor instead.")
pub text_selection_color: Color,
// @Deprecated("Use TextSelectionThemeData.cursorColor instead.")
pub cursor_color: Color,
// @Deprecated("Use TextSelectionThemeData.selectionHandleColor instead.")
pub text_selection_handle_color: Color,
pub background_color: Color,
pub dialog_background_color: Color,
pub indicator_color: Color,
pub hint_color: Color,
pub error_color: Color,
pub toggleable_active_color: Color,
pub font_family: String,
pub text_theme: TextTheme,
pub primary_text_theme: TextTheme,
// @Deprecated("No longer used by the framework, please remove any reference to it.")
pub accent_text_theme: TextTheme,
pub input_decoration_theme: InputDecorationTheme,
pub icon_theme: IconThemeData,
pub primary_icon_theme: IconThemeData,
// @Deprecated("No longer used by the framework, please remove any reference to it.")
pub accent_icon_theme: IconThemeData,
pub slider_theme: SliderThemeData,
pub tab_bar_theme: TabBarTheme,
pub tooltip_theme: TooltipThemeData,
pub card_theme: CardTheme,
pub chip_theme: ChipThemeData,
pub platform: TargetPlatform,
pub material_tap_target_size: MaterialTapTargetSize,
pub apply_elevation_overlay_color: bool,
pub page_transitions_theme: PageTransitionsTheme,
pub app_bar_theme: AppBarTheme,
pub scrollbar_theme: ScrollbarThemeData,
pub bottom_app_bar_theme: BottomAppBarTheme,
pub color_scheme: ColorScheme,
pub dialog_theme: DialogTheme,
pub floating_action_button_theme: FloatingActionButtonThemeData,
pub navigation_rail_theme: NavigationRailThemeData,
pub typography: Typography,
pub snack_bar_theme: SnackBarThemeData,
pub bottom_sheet_theme: BottomSheetThemeData,
pub popup_menu_theme: PopupMenuThemeData,
pub banner_theme: MaterialBannerThemeData,
pub divider_theme: DividerThemeData,
pub button_bar_theme: ButtonBarThemeData,
pub bottom_navigation_bar_theme: BottomNavigationBarThemeData,
pub time_picker_theme: TimePickerThemeData,
pub text_button_theme: TextButtonThemeData,
pub elevated_button_theme: ElevatedButtonThemeData,
pub outlined_button_theme: OutlinedButtonThemeData,
pub text_selection_theme: TextSelectionThemeData,
pub data_table_theme: DataTableThemeData,
pub checkbox_theme: CheckboxThemeData,
pub radio_theme: RadioThemeData,
pub switch_theme: SwitchThemeData,
pub progress_indicator_theme: ProgressIndicatorThemeData,
// @Deprecated("This "fix" is now enabled by default.")
pub fix_text_field_outline_label: bool,
// @Deprecated("No longer used by the framework, please remove any reference to it.")
pub use_text_selection_theme: bool,
}
impl Default for ThemeData {
fn default() -> Self {
Self {
brightness: Default::default(),
visual_density: Default::default(),
primary_swatch: Default::default(),
primary_color: Default::default(),
primary_color_brightness: Default::default(),
primary_color_light: Default::default(),
primary_color_dark: Default::default(),
accent_color: Default::default(),
accent_color_brightness: Default::default(),
canvas_color: Default::default(),
shadow_color: Default::default(),
scaffold_background_color: Default::default(),
bottom_app_bar_color: Default::default(),
card_color: Default::default(),
divider_color: Default::default(),
focus_color: Default::default(),
hover_color: Default::default(),
highlight_color: Default::default(),
splash_color: Default::default(),
splash_factory: Default::default(),
selected_row_color: Default::default(),
unselected_widget_color: Default::default(),
disabled_color: Default::default(),
button_color: Default::default(),
button_theme: Default::default(),
toggle_buttons_theme: Default::default(),
secondary_header_color: Default::default(),
text_selection_color: Default::default(),
cursor_color: Default::default(),
text_selection_handle_color: Default::default(),
background_color: Default::default(),
dialog_background_color: Default::default(),
indicator_color: Default::default(),
hint_color: Default::default(),
error_color: Default::default(),
toggleable_active_color: Default::default(),
font_family: Default::default(),
text_theme: Default::default(),
primary_text_theme: Default::default(),
accent_text_theme: Default::default(),
input_decoration_theme: Default::default(),
icon_theme: Default::default(),
primary_icon_theme: Default::default(),
accent_icon_theme: Default::default(),
slider_theme: Default::default(),
tab_bar_theme: Default::default(),
tooltip_theme: Default::default(),
card_theme: Default::default(),
chip_theme: Default::default(),
platform: Default::default(),
material_tap_target_size: Default::default(),
apply_elevation_overlay_color: Default::default(),
page_transitions_theme: Default::default(),
app_bar_theme: Default::default(),
scrollbar_theme: Default::default(),
bottom_app_bar_theme: Default::default(),
color_scheme: Default::default(),
dialog_theme: Default::default(),
floating_action_button_theme: Default::default(),
navigation_rail_theme: Default::default(),
typography: Default::default(),
snack_bar_theme: Default::default(),
bottom_sheet_theme: Default::default(),
popup_menu_theme: Default::default(),
banner_theme: Default::default(),
divider_theme: Default::default(),
button_bar_theme: Default::default(),
bottom_navigation_bar_theme: Default::default(),
time_picker_theme: Default::default(),
text_button_theme: Default::default(),
elevated_button_theme: Default::default(),
outlined_button_theme: Default::default(),
text_selection_theme: Default::default(),
data_table_theme: Default::default(),
checkbox_theme: Default::default(),
radio_theme: Default::default(),
switch_theme: Default::default(),
progress_indicator_theme: Default::default(),
fix_text_field_outline_label: Default::default(),
use_text_selection_theme: Default::default(),
}
}
}