From 44a8331417c3ce1da5bf8b083f804010d8028d47 Mon Sep 17 00:00:00 2001 From: elkowar <5300871+elkowar@users.noreply.github.com> Date: Sat, 3 Sep 2022 10:09:37 +0200 Subject: [PATCH] Fix circular-progress showing 0 when value is 100 and clockwise is false (fixes #543) --- crates/eww/src/widgets/circular_progressbar.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/eww/src/widgets/circular_progressbar.rs b/crates/eww/src/widgets/circular_progressbar.rs index 069439b..b594333 100644 --- a/crates/eww/src/widgets/circular_progressbar.rs +++ b/crates/eww/src/widgets/circular_progressbar.rs @@ -180,8 +180,11 @@ impl WidgetImpl for CircProgPriv { // Padding is not supported yet let fg_color: gdk::RGBA = styles.color(gtk::StateFlags::NORMAL); let bg_color: gdk::RGBA = styles.style_property_for_state("background-color", gtk::StateFlags::NORMAL).get()?; - let (start_angle, end_angle) = - if clockwise { (0.0, perc_to_rad(value as f64)) } else { (perc_to_rad(100.0 - value as f64), 0.0) }; + let (start_angle, end_angle) = if clockwise { + (0.0, perc_to_rad(value as f64)) + } else { + (perc_to_rad(100.0 - value as f64), 2f64 * std::f64::consts::PI) + }; let total_width = widget.allocated_width() as f64; let total_height = widget.allocated_height() as f64;