From 1f8d8786940cc6db59d412153c5a03f69a20375c Mon Sep 17 00:00:00 2001 From: Hojjat Date: Mon, 10 Aug 2026 12:25:40 -0600 Subject: [PATCH] fix: request redraw when hover state changes in toggle widget --- src/widget/toggler.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/widget/toggler.rs b/src/widget/toggler.rs index a610747c..5c36a5b6 100644 --- a/src/widget/toggler.rs +++ b/src/widget/toggler.rs @@ -266,6 +266,17 @@ impl<'a, Message> Widget for Toggler<'a, shell.request_redraw(); } } + Event::Mouse(mouse::Event::CursorMoved { .. }) => { + let toggler_bounds = layout + .children() + .nth(1) + .map_or_else(|| layout.bounds(), |l| l.bounds()); + let hovered = cursor_position.is_over(toggler_bounds); + if state.hovered != hovered { + state.hovered = hovered; + shell.request_redraw(); + } + } _ => {} } } @@ -442,4 +453,5 @@ pub struct State { text: widget::text::State<::Paragraph>, anim: anim::State, prev_toggled: bool, + hovered: bool, }