Allow Overlay::overlay to borrow Layout
This commit is contained in:
parent
346ce61b5d
commit
6155100767
5 changed files with 11 additions and 8 deletions
|
|
@ -82,7 +82,7 @@ where
|
|||
/// Returns the nested overlay of the [`Overlay`], if there is any.
|
||||
fn overlay<'a>(
|
||||
&'a mut self,
|
||||
_layout: Layout<'_>,
|
||||
_layout: Layout<'a>,
|
||||
_renderer: &Renderer,
|
||||
) -> Option<Element<'a, Message, Theme, Renderer>> {
|
||||
None
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ where
|
|||
|
||||
fn overlay<'a>(
|
||||
&'a mut self,
|
||||
layout: Layout<'_>,
|
||||
layout: Layout<'a>,
|
||||
renderer: &Renderer,
|
||||
) -> Option<Element<'a, B, Theme, Renderer>> {
|
||||
self.content
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ where
|
|||
|
||||
fn overlay<'a>(
|
||||
&'a mut self,
|
||||
layout: Layout<'_>,
|
||||
layout: Layout<'a>,
|
||||
renderer: &Renderer,
|
||||
) -> Option<overlay::Element<'a, Message, Theme, Renderer>> {
|
||||
let children = self
|
||||
|
|
|
|||
|
|
@ -42,12 +42,15 @@ where
|
|||
let overlay = element.as_overlay_mut();
|
||||
let node = overlay.layout(renderer, bounds);
|
||||
|
||||
if let Some(mut nested) =
|
||||
overlay.overlay(Layout::new(&node), renderer)
|
||||
{
|
||||
let nested_node = overlay
|
||||
.overlay(Layout::new(&node), renderer)
|
||||
.as_mut()
|
||||
.map(|nested| recurse(nested, renderer, bounds));
|
||||
|
||||
if let Some(nested_node) = nested_node {
|
||||
layout::Node::with_children(
|
||||
node.size(),
|
||||
vec![node, recurse(&mut nested, renderer, bounds)],
|
||||
vec![node, nested_node],
|
||||
)
|
||||
} else {
|
||||
layout::Node::with_children(node.size(), vec![node])
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ where
|
|||
|
||||
fn overlay<'b>(
|
||||
&'b mut self,
|
||||
layout: Layout<'_>,
|
||||
layout: Layout<'b>,
|
||||
renderer: &Renderer,
|
||||
) -> Option<overlay::Element<'b, Message, Theme, Renderer>>
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue