// Copyright 2023 System76 // Copyright 2019 Héctor Ramón, Iced contributors // SPDX-License-Identifier: MPL-2.0 AND MIT //! Change the appearance of menus. use iced_core::{border::Radius, Background, Color}; /// The appearance of a menu. #[derive(Debug, Clone, Copy)] pub struct Appearance { /// Menu text color pub text_color: Color, /// Menu background pub background: Background, /// Menu border width pub border_width: f32, /// Menu border radius pub border_radius: Radius, /// Menu border color pub border_color: Color, /// Text color when hovered pub hovered_text_color: Color, /// Background when hovered pub hovered_background: Background, /// Text color when selected pub selected_text_color: Color, /// Background when selected pub selected_background: Background, /// Description text color pub description_color: Color, } /// The style sheet of a menu. pub trait StyleSheet { /// The supported style of the [`StyleSheet`]. type Style: Default + Clone; /// Produces the [`Appearance`] of a menu. fn appearance(&self, style: &Self::Style) -> Appearance; }