summaryrefslogtreecommitdiffstats
path: root/style
diff options
context:
space:
mode:
authorLibravatar Night_Hunter <samuelhuntnz@gmail.com>2023-01-06 14:55:09 +1300
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-04-12 05:09:16 +0200
commitde51bc3f41752634c0ccce8484d0a9bade62a45a (patch)
tree3353601f3f5e0d76422530e2d6671f587a7e09c0 /style
parentce8e92ca7a4ed0f4fe284c9042f863f7c83ba03a (diff)
downloadiced-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.rs17
-rw-r--r--style/src/theme.rs14
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,