diff options
Diffstat (limited to 'examples/modal/src')
-rw-r--r-- | examples/modal/src/main.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/examples/modal/src/main.rs b/examples/modal/src/main.rs index 4aa70886..c050d3cc 100644 --- a/examples/modal/src/main.rs +++ b/examples/modal/src/main.rs @@ -287,10 +287,15 @@ mod modal { fn layout( &self, + tree: &mut widget::Tree, renderer: &Renderer, limits: &layout::Limits, ) -> layout::Node { - self.base.as_widget().layout(renderer, limits) + self.base.as_widget().layout( + &mut tree.children[0], + renderer, + limits, + ) } fn on_event( @@ -401,7 +406,7 @@ mod modal { Message: Clone, { fn layout( - &self, + &mut self, renderer: &Renderer, _bounds: Size, position: Point, @@ -410,7 +415,11 @@ mod modal { .width(Length::Fill) .height(Length::Fill); - let mut child = self.content.as_widget().layout(renderer, &limits); + let mut child = self + .content + .as_widget() + .layout(self.tree, renderer, &limits); + child.align(Alignment::Center, Alignment::Center, limits.max()); let mut node = layout::Node::with_children(self.size, vec![child]); |