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 {
|
) -> bool {
|
||||||
self.content.is_over(layout, renderer, cursor_position)
|
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)
|
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>>
|
impl<'a, Message, Renderer> From<Group<'a, Message, Renderer>>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue