Get widget operations working w/ overlay

This commit is contained in:
Cory Forsstrom 2022-11-18 12:09:18 -08:00
parent 23da5a3251
commit 9a601c0954
3 changed files with 15 additions and 10 deletions

View file

@ -496,14 +496,19 @@ where
operation,
);
if let Some(layout) = self.overlay.as_ref() {
if let Some(overlay) = self.root.as_widget_mut().overlay(
&mut self.state,
Layout::new(&self.base),
renderer,
) {
overlay.operate(Layout::new(layout), operation);
if let Some(mut overlay) = self.root.as_widget_mut().overlay(
&mut self.state,
Layout::new(&self.base),
renderer,
) {
if self.overlay.is_none() {
self.overlay = Some(overlay.layout(renderer, self.bounds));
}
overlay.operate(
Layout::new(self.overlay.as_ref().unwrap()),
operation,
);
}
}