diff options
| author | 2023-01-06 14:55:09 +1300 | |
|---|---|---|
| committer | 2023-04-12 05:09:16 +0200 | |
| commit | de51bc3f41752634c0ccce8484d0a9bade62a45a (patch) | |
| tree | 3353601f3f5e0d76422530e2d6671f587a7e09c0 /style | |
| parent | ce8e92ca7a4ed0f4fe284c9042f863f7c83ba03a (diff) | |
| download | iced-de51bc3f41752634c0ccce8484d0a9bade62a45a.tar.gz iced-de51bc3f41752634c0ccce8484d0a9bade62a45a.tar.bz2 iced-de51bc3f41752634c0ccce8484d0a9bade62a45a.zip | |
Introduce left and right colors for slider rails
Diffstat (limited to 'style')
| -rw-r--r-- | style/src/slider.rs | 17 | ||||
| -rw-r--r-- | style/src/theme.rs | 14 | 
2 files changed, 26 insertions, 5 deletions
| diff --git a/style/src/slider.rs b/style/src/slider.rs index 4b52fad3..c143915e 100644 --- a/style/src/slider.rs +++ b/style/src/slider.rs @@ -5,11 +5,26 @@ use iced_core::Color;  #[derive(Debug, Clone, Copy)]  pub struct Appearance {      /// The colors of the rail of the slider. -    pub rail_colors: (Color, Color), +    pub rail: Rail,      /// The appearance of the [`Handle`] of the slider.      pub handle: Handle,  } +/// The appearance of a slider rail +#[derive(Debug, Clone, Copy)] +pub struct Rail { +    /// The colors of the rail of the slider. +    pub colors: (Color, Color), +    /// The height of a slider rail and the width of a vertical slider. +    pub size: f32, +    /// The border radius of the slider. +    pub border_radius: f32, +    /// The border width of the slider. +    pub border_width: f32, +    /// The border [`Color`] of the slider. +    pub border_color: Color, +} +  /// The appearance of the handle of a slider.  #[derive(Debug, Clone, Copy)]  pub struct Handle { diff --git a/style/src/theme.rs b/style/src/theme.rs index 6bd82a96..417680a1 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -416,10 +416,16 @@ impl slider::StyleSheet for Theme {                  };                  slider::Appearance { -                    rail_colors: ( -                        palette.primary.base.color, -                        Color::TRANSPARENT, -                    ), +                    rail: slider::Rail { +                        colors: ( +                            palette.primary.base.color, +                            palette.primary.base.color, +                        ), +                        size: 2.0, +                        border_radius: 0.0, +                        border_width: 0.0, +                        border_color: Color::TRANSPARENT, +                    },                      handle: slider::Handle {                          color: palette.background.base.color,                          border_color: palette.primary.base.color, | 
