diff options
author | 2022-12-13 09:31:57 +0100 | |
---|---|---|
committer | 2022-12-13 09:31:57 +0100 | |
commit | 2e6d90f141217bad83eacd392562c13d7485881f (patch) | |
tree | baa2c507076073aed4fd24abc9c7a7949d85c039 /style/src/slider.rs | |
parent | ba95042fff378213f5029b2b164d79e768482a47 (diff) | |
parent | 02182eea45537c9eb5b2bddfdff822bb8a3d143d (diff) | |
download | iced-2e6d90f141217bad83eacd392562c13d7485881f.tar.gz iced-2e6d90f141217bad83eacd392562c13d7485881f.tar.bz2 iced-2e6d90f141217bad83eacd392562c13d7485881f.zip |
Merge branch 'master' into feat/slider-orientation
Diffstat (limited to '')
-rw-r--r-- | style/src/slider.rs | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/style/src/slider.rs b/style/src/slider.rs index 0ff0449b..4b52fad3 100644 --- a/style/src/slider.rs +++ b/style/src/slider.rs @@ -1,39 +1,56 @@ -//! Display an interactive selector of a single value from a range of values. +//! Change the apperance of a slider. use iced_core::Color; /// The appearance of a slider. #[derive(Debug, Clone, Copy)] pub struct Appearance { + /// The colors of the rail of the slider. pub rail_colors: (Color, Color), + /// The appearance of the [`Handle`] of the slider. pub handle: Handle, } /// The appearance of the handle of a slider. #[derive(Debug, Clone, Copy)] pub struct Handle { + /// The shape of the handle. pub shape: HandleShape, + /// The [`Color`] of the handle. pub color: Color, + /// The border width of the handle. pub border_width: f32, + /// The border [`Color`] of the handle. pub border_color: Color, } /// The shape of the handle of a slider. #[derive(Debug, Clone, Copy)] pub enum HandleShape { - Circle { radius: f32 }, - Rectangle { width: u16, border_radius: f32 }, + /// A circular handle. + Circle { + /// The radius of the circle. + radius: f32, + }, + /// A rectangular shape. + Rectangle { + /// The width of the rectangle. + width: u16, + /// The border radius of the corners of the rectangle. + border_radius: f32, + }, } /// A set of rules that dictate the style of a slider. pub trait StyleSheet { - type Style: Default + Copy; + /// The supported style of the [`StyleSheet`]. + type Style: Default; /// Produces the style of an active slider. - fn active(&self, style: Self::Style) -> Appearance; + fn active(&self, style: &Self::Style) -> Appearance; /// Produces the style of an hovered slider. - fn hovered(&self, style: Self::Style) -> Appearance; + fn hovered(&self, style: &Self::Style) -> Appearance; /// Produces the style of a slider that is being dragged. - fn dragging(&self, style: Self::Style) -> Appearance; + fn dragging(&self, style: &Self::Style) -> Appearance; } |