summaryrefslogtreecommitdiffstats
path: root/style/src/toggler.rs
diff options
context:
space:
mode:
Diffstat (limited to 'style/src/toggler.rs')
-rw-r--r--style/src/toggler.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/style/src/toggler.rs b/style/src/toggler.rs
index 0acf8e97..abc73f2a 100644
--- a/style/src/toggler.rs
+++ b/style/src/toggler.rs
@@ -1,20 +1,31 @@
-//! Show toggle controls using togglers.
+//! Change the appearance of a toggler.
use iced_core::Color;
/// The appearance of a toggler.
#[derive(Debug, Clone, Copy)]
pub struct Appearance {
+ /// The background [`Color`] of the toggler.
pub background: Color,
+ /// The [`Color`] of the background border of the toggler.
pub background_border: Option<Color>,
+ /// The foreground [`Color`] of the toggler.
pub foreground: Color,
+ /// The [`Color`] of the foreground border of the toggler.
pub foreground_border: Option<Color>,
}
/// A set of rules that dictate the style of a toggler.
pub trait StyleSheet {
- type Style: Default + Copy;
+ /// The supported style of the [`StyleSheet`].
+ type Style: Default;
- fn active(&self, style: Self::Style, is_active: bool) -> Appearance;
+ /// Returns the active [`Appearance`] of the toggler for the provided [`Style`].
+ ///
+ /// [`Style`]: Self::Style
+ fn active(&self, style: &Self::Style, is_active: bool) -> Appearance;
- fn hovered(&self, style: Self::Style, is_active: bool) -> Appearance;
+ /// Returns the hovered [`Appearance`] of the toggler for the provided [`Style`].
+ ///
+ /// [`Style`]: Self::Style
+ fn hovered(&self, style: &Self::Style, is_active: bool) -> Appearance;
}