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.
|
/// Returns the nested overlay of the [`Overlay`], if there is any.
|
||||||
fn overlay<'a>(
|
fn overlay<'a>(
|
||||||
&'a mut self,
|
&'a mut self,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'a>,
|
||||||
_renderer: &Renderer,
|
_renderer: &Renderer,
|
||||||
) -> Option<Element<'a, Message, Theme, Renderer>> {
|
) -> Option<Element<'a, Message, Theme, Renderer>> {
|
||||||
None
|
None
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ where
|
||||||
|
|
||||||
fn overlay<'a>(
|
fn overlay<'a>(
|
||||||
&'a mut self,
|
&'a mut self,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'a>,
|
||||||
renderer: &Renderer,
|
renderer: &Renderer,
|
||||||
) -> Option<Element<'a, B, Theme, Renderer>> {
|
) -> Option<Element<'a, B, Theme, Renderer>> {
|
||||||
self.content
|
self.content
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ where
|
||||||
|
|
||||||
fn overlay<'a>(
|
fn overlay<'a>(
|
||||||
&'a mut self,
|
&'a mut self,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'a>,
|
||||||
renderer: &Renderer,
|
renderer: &Renderer,
|
||||||
) -> Option<overlay::Element<'a, Message, Theme, Renderer>> {
|
) -> Option<overlay::Element<'a, Message, Theme, Renderer>> {
|
||||||
let children = self
|
let children = self
|
||||||
|
|
|
||||||
|
|
@ -42,12 +42,15 @@ where
|
||||||
let overlay = element.as_overlay_mut();
|
let overlay = element.as_overlay_mut();
|
||||||
let node = overlay.layout(renderer, bounds);
|
let node = overlay.layout(renderer, bounds);
|
||||||
|
|
||||||
if let Some(mut nested) =
|
let nested_node = overlay
|
||||||
overlay.overlay(Layout::new(&node), renderer)
|
.overlay(Layout::new(&node), renderer)
|
||||||
{
|
.as_mut()
|
||||||
|
.map(|nested| recurse(nested, renderer, bounds));
|
||||||
|
|
||||||
|
if let Some(nested_node) = nested_node {
|
||||||
layout::Node::with_children(
|
layout::Node::with_children(
|
||||||
node.size(),
|
node.size(),
|
||||||
vec![node, recurse(&mut nested, renderer, bounds)],
|
vec![node, nested_node],
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
layout::Node::with_children(node.size(), vec![node])
|
layout::Node::with_children(node.size(), vec![node])
|
||||||
|
|
|
||||||
|
|
@ -257,7 +257,7 @@ where
|
||||||
|
|
||||||
fn overlay<'b>(
|
fn overlay<'b>(
|
||||||
&'b mut self,
|
&'b mut self,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'b>,
|
||||||
renderer: &Renderer,
|
renderer: &Renderer,
|
||||||
) -> Option<overlay::Element<'b, Message, Theme, Renderer>>
|
) -> Option<overlay::Element<'b, Message, Theme, Renderer>>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue