Introduce left and right colors for slider rails

This commit is contained in:
Night_Hunter 2023-01-06 14:55:09 +13:00 committed by Héctor Ramón Jiménez
parent ce8e92ca7a
commit de51bc3f41
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
4 changed files with 130 additions and 80 deletions

View file

@ -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 {

View file

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