1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
use crate::{foundation::colorspace::Color, painting::TextStyle};
use super::{
RangeSliderThumbShape, RangeSliderTickMarkShape, RangeSliderTrackShape,
RangeSliderValueIndicatorShape, RangeThumbSelector, ShowValueIndicator, SliderComponentShape,
SliderTickMarkShape, SliderTrackShape,
};
pub struct SliderThemeData {
pub track_height: f32,
pub active_track_color: Color,
pub inactive_track_color: Color,
pub disabled_active_track_color: Color,
pub disabled_inactive_track_color: Color,
pub active_tick_mark_color: Color,
pub inactive_tick_mark_color: Color,
pub disabled_active_tick_mark_color: Color,
pub disabled_inactive_tick_mark_color: Color,
pub thumb_color: Color,
pub overlapping_shape_stroke_color: Color,
pub disabled_thumb_color: Color,
pub overlay_color: Color,
pub value_indicator_color: Color,
pub overlay_shape: SliderComponentShape,
pub tick_mark_shape: SliderTickMarkShape,
pub thumb_shape: SliderComponentShape,
pub track_shape: SliderTrackShape,
pub value_indicator_shape: SliderComponentShape,
pub range_tick_mark_shape: RangeSliderTickMarkShape,
pub range_thumb_shape: RangeSliderThumbShape,
pub range_track_shape: RangeSliderTrackShape,
pub range_value_indicator_shape: RangeSliderValueIndicatorShape,
pub show_value_indicator: ShowValueIndicator,
pub value_indicator_text_style: TextStyle,
pub min_thumb_separation: f32,
pub thumb_selector: Option<Box<dyn RangeThumbSelector>>,
}
impl Default for SliderThemeData {
fn default() -> Self {
Self {
track_height: Default::default(),
active_track_color: Default::default(),
inactive_track_color: Default::default(),
disabled_active_track_color: Default::default(),
disabled_inactive_track_color: Default::default(),
active_tick_mark_color: Default::default(),
inactive_tick_mark_color: Default::default(),
disabled_active_tick_mark_color: Default::default(),
disabled_inactive_tick_mark_color: Default::default(),
thumb_color: Default::default(),
overlapping_shape_stroke_color: Default::default(),
disabled_thumb_color: Default::default(),
overlay_color: Default::default(),
value_indicator_color: Default::default(),
overlay_shape: Default::default(),
tick_mark_shape: Default::default(),
thumb_shape: Default::default(),
track_shape: Default::default(),
value_indicator_shape: Default::default(),
range_tick_mark_shape: Default::default(),
range_thumb_shape: Default::default(),
range_track_shape: Default::default(),
range_value_indicator_shape: Default::default(),
show_value_indicator: Default::default(),
value_indicator_text_style: Default::default(),
min_thumb_separation: Default::default(),
thumb_selector: Default::default(),
}
}
}