Prioritize mouse interaction of deepest Overlay

This commit is contained in:
Cory Forsstrom 2023-02-18 13:53:22 -08:00 committed by Héctor Ramón Jiménez
parent f44d429283
commit 1ce047cdb3
No known key found for this signature in database
GPG key ID: 140CC052C94F138E

View file

@ -224,16 +224,28 @@ where
{ {
let layout = layouts.next().unwrap(); let layout = layouts.next().unwrap();
let interaction = if let Some(cursor_position) = cursor.position() {
if let Some(mut overlay) = element.overlay(layout, renderer) { match element.overlay(layout, renderer) {
recurse(&mut overlay, layouts, cursor, viewport, renderer) Some(mut overlay)
} else { if overlay.is_over(
mouse::Interaction::default() layout,
}; renderer,
cursor_position,
) =>
{
return recurse(
&mut overlay,
layouts,
cursor,
viewport,
renderer,
);
}
_ => {}
}
}
element element.mouse_interaction(layout, cursor, viewport, renderer)
.mouse_interaction(layout, cursor, viewport, renderer)
.max(interaction)
} }
self.overlay.with_element_mut(|element| { self.overlay.with_element_mut(|element| {