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, |