Add nested overlay method to group & map
This commit is contained in:
parent
55dc3b5619
commit
0a56ffb5d6
2 changed files with 25 additions and 0 deletions
|
|
@ -270,4 +270,14 @@ where
|
|||
) -> bool {
|
||||
self.content.is_over(layout, renderer, cursor_position)
|
||||
}
|
||||
|
||||
fn overlay<'b>(
|
||||
&'b mut self,
|
||||
layout: Layout<'_>,
|
||||
renderer: &Renderer,
|
||||
) -> Option<Element<'b, B, Renderer>> {
|
||||
self.content
|
||||
.overlay(layout, renderer)
|
||||
.map(|overlay| overlay.map(self.mapper))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,6 +160,21 @@ where
|
|||
child.is_over(layout, renderer, cursor_position)
|
||||
})
|
||||
}
|
||||
|
||||
fn overlay<'b>(
|
||||
&'b mut self,
|
||||
layout: Layout<'_>,
|
||||
renderer: &Renderer,
|
||||
) -> Option<overlay::Element<'b, Message, Renderer>> {
|
||||
let children = self
|
||||
.children
|
||||
.iter_mut()
|
||||
.zip(layout.children())
|
||||
.filter_map(|(child, layout)| child.overlay(layout, renderer))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
(!children.is_empty()).then(|| Group::with_children(children).overlay())
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Group<'a, Message, Renderer>>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue