From 954d6349a8cd5505d99403285ce9617c65a63a2b Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 20 Oct 2021 16:28:27 +0700 Subject: Implement `Widget::mouse_interaction` for `Slider` --- native/src/widget/slider.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs index 31a5965b..60124160 100644 --- a/native/src/widget/slider.rs +++ b/native/src/widget/slider.rs @@ -336,6 +336,24 @@ where }); } + fn mouse_interaction( + &self, + layout: Layout<'_>, + _viewport: &Rectangle, + cursor_position: Point, + ) -> mouse::Interaction { + let bounds = layout.bounds(); + let is_mouse_over = bounds.contains(cursor_position); + + if self.state.is_dragging { + mouse::Interaction::Grabbing + } else if is_mouse_over { + mouse::Interaction::Grab + } else { + mouse::Interaction::default() + } + } + fn hash_layout(&self, state: &mut Hasher) { struct Marker; std::any::TypeId::of::().hash(state); -- cgit