From 9991a894286a52dc81c1f8e449a64395bbe5b5fe Mon Sep 17 00:00:00 2001 From: rubik83 <45452623+rubik83@users.noreply.github.com> Date: Tue, 15 Sep 2020 12:56:50 +0200 Subject: fix active_progress_width formula change : let active_progress_width = bounds.width * ((value - range_start) / (range_end - range_start).max(1.0)) to : let active_progress_width = bounds.width * ((value - range_start) / (range_end - range_start).max(f32::EPSILON)).max(0.0).min(1.0) --- graphics/src/widget/progress_bar.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'graphics/src/widget/progress_bar.rs') diff --git a/graphics/src/widget/progress_bar.rs b/graphics/src/widget/progress_bar.rs index 932f4fc2..4105a1aa 100644 --- a/graphics/src/widget/progress_bar.rs +++ b/graphics/src/widget/progress_bar.rs @@ -34,7 +34,7 @@ where let (range_start, range_end) = range.into_inner(); let active_progress_width = bounds.width - * ((value - range_start) / (range_end - range_start).max(1.0)); + * ((value - range_start) / (range_end - range_start).max(f32::EPSILON)).max(0.0).min(1.0); let background = Primitive::Group { primitives: vec![Primitive::Quad { -- cgit From c23136a5df7bc4c4e7f43785088985a1b63f8daf Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 26 Nov 2020 03:33:08 +0100 Subject: Account for empty ranges in `Slider` and `ProgressBar` --- graphics/src/widget/progress_bar.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'graphics/src/widget/progress_bar.rs') 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 { -- cgit