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 interaction =
if let Some(mut overlay) = element.overlay(layout, renderer) {
recurse(&mut overlay, layouts, cursor, viewport, renderer)
} else {
mouse::Interaction::default()
};
if let Some(cursor_position) = cursor.position() {
match element.overlay(layout, renderer) {
Some(mut overlay)
if overlay.is_over(
layout,
renderer,
cursor_position,
) =>
{
return recurse(
&mut overlay,
layouts,
cursor,
viewport,
renderer,
);
}
_ => {}
}
}
element
.mouse_interaction(layout, cursor, viewport, renderer)
.max(interaction)
element.mouse_interaction(layout, cursor, viewport, renderer)
}
self.overlay.with_element_mut(|element| {