summaryrefslogtreecommitdiffstats
path: root/graphics/src/widget/progress_bar.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-11-26 03:33:08 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-11-26 03:33:08 +0100
commitc23136a5df7bc4c4e7f43785088985a1b63f8daf (patch)
tree1d91428a1b8ec50ff9974963a1c42df2f5a34946 /graphics/src/widget/progress_bar.rs
parent955b62ea2deec383fe693d169dba8d35633876a3 (diff)
downloadiced-c23136a5df7bc4c4e7f43785088985a1b63f8daf.tar.gz
iced-c23136a5df7bc4c4e7f43785088985a1b63f8daf.tar.bz2
iced-c23136a5df7bc4c4e7f43785088985a1b63f8daf.zip
Account for empty ranges in `Slider` and `ProgressBar`
Diffstat (limited to 'graphics/src/widget/progress_bar.rs')
-rw-r--r--graphics/src/widget/progress_bar.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/graphics/src/widget/progress_bar.rs b/graphics/src/widget/progress_bar.rs
index 4105a1aa..32ee42c6 100644
--- a/graphics/src/widget/progress_bar.rs
+++ b/graphics/src/widget/progress_bar.rs
@@ -31,10 +31,13 @@ where
style_sheet: &Self::Style,
) -> Self::Output {
let style = style_sheet.style();
-
let (range_start, range_end) = range.into_inner();
- let active_progress_width = bounds.width
- * ((value - range_start) / (range_end - range_start).max(f32::EPSILON)).max(0.0).min(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 {
primitives: vec![Primitive::Quad {