Merge pull request #527 from rubik83/master
Account for empty ranges in `Slider` and `ProgressBar`
This commit is contained in:
commit
50a1f78996
|
@ -31,10 +31,13 @@ where
|
||||||
style_sheet: &Self::Style,
|
style_sheet: &Self::Style,
|
||||||
) -> Self::Output {
|
) -> Self::Output {
|
||||||
let style = style_sheet.style();
|
let style = style_sheet.style();
|
||||||
|
|
||||||
let (range_start, range_end) = range.into_inner();
|
let (range_start, range_end) = range.into_inner();
|
||||||
let active_progress_width = bounds.width
|
|
||||||
* ((value - range_start) / (range_end - range_start).max(1.0));
|
let active_progress_width = if range_start >= range_end {
|
||||||
|
0.0
|
||||||
|
} else {
|
||||||
|
bounds.width * (value - range_start) / (range_end - range_start)
|
||||||
|
};
|
||||||
|
|
||||||
let background = Primitive::Group {
|
let background = Primitive::Group {
|
||||||
primitives: vec![Primitive::Quad {
|
primitives: vec![Primitive::Quad {
|
||||||
|
|
|
@ -72,8 +72,6 @@ where
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
let (range_start, range_end) = range.into_inner();
|
|
||||||
|
|
||||||
let (handle_width, handle_height, handle_border_radius) = match style
|
let (handle_width, handle_height, handle_border_radius) = match style
|
||||||
.handle
|
.handle
|
||||||
.shape
|
.shape
|
||||||
|
@ -87,8 +85,14 @@ where
|
||||||
} => (f32::from(width), f32::from(bounds.height), border_radius),
|
} => (f32::from(width), f32::from(bounds.height), border_radius),
|
||||||
};
|
};
|
||||||
|
|
||||||
let handle_offset = (bounds.width - handle_width)
|
let (range_start, range_end) = range.into_inner();
|
||||||
* ((value - range_start) / (range_end - range_start).max(1.0));
|
|
||||||
|
let handle_offset = if range_start >= range_end {
|
||||||
|
0.0
|
||||||
|
} else {
|
||||||
|
(bounds.width - handle_width) * (value - range_start)
|
||||||
|
/ (range_end - range_start)
|
||||||
|
};
|
||||||
|
|
||||||
let handle = Primitive::Quad {
|
let handle = Primitive::Quad {
|
||||||
bounds: Rectangle {
|
bounds: Rectangle {
|
||||||
|
|
Loading…
Reference in New Issue