summaryrefslogtreecommitdiffstats
path: root/widget
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2025-02-01 02:13:45 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2025-02-01 02:13:45 +0100
commit7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7 (patch)
treee092bad38cd901777961578039f3cfc61cc29b0b /widget
parent2fc94d9f443ba497f269b25659dfd16616ef8d65 (diff)
downloadiced-7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7.tar.gz
iced-7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7.tar.bz2
iced-7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7.zip
Propagate mouse cursor movements in `stack`
Diffstat (limited to 'widget')
-rw-r--r--widget/src/stack.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/widget/src/stack.rs b/widget/src/stack.rs
index d2828c56..12ed941d 100644
--- a/widget/src/stack.rs
+++ b/widget/src/stack.rs
@@ -216,6 +216,8 @@ where
viewport: &Rectangle,
) {
let is_over = cursor.is_over(layout.bounds());
+ let is_mouse_movement =
+ matches!(event, Event::Mouse(mouse::Event::CursorMoved { .. }));
for ((child, state), layout) in self
.children
@@ -235,7 +237,10 @@ where
viewport,
);
- if is_over && cursor != mouse::Cursor::Unavailable {
+ if is_over
+ && !is_mouse_movement
+ && cursor != mouse::Cursor::Unavailable
+ {
let interaction = child.as_widget().mouse_interaction(
state, layout, cursor, viewport, renderer,
);