summaryrefslogtreecommitdiffstats
path: root/runtime/src/user_interface.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2023-11-21 19:03:49 +0100
committerLibravatar GitHub <noreply@github.com>2023-11-21 19:03:49 +0100
commit170db35891d7824f8140610bce20708deecb8a62 (patch)
treee03bf161d97acedd71152a5c34cb0f5c9e32ed4c /runtime/src/user_interface.rs
parent7dd32f3be43c72e11dac5e07918e9ad6d36b6555 (diff)
parent89e3de7c08dc07eefbcc2617f0da63282aa1c8ef (diff)
downloadiced-170db35891d7824f8140610bce20708deecb8a62.tar.gz
iced-170db35891d7824f8140610bce20708deecb8a62.tar.bz2
iced-170db35891d7824f8140610bce20708deecb8a62.zip
Merge pull request #2142 from iced-rs/fix/overlay-composition
Fix `Overlay` composition
Diffstat (limited to 'runtime/src/user_interface.rs')
-rw-r--r--runtime/src/user_interface.rs30
1 files changed, 23 insertions, 7 deletions
diff --git a/runtime/src/user_interface.rs b/runtime/src/user_interface.rs
index dae9e0ac..3594ac18 100644
--- a/runtime/src/user_interface.rs
+++ b/runtime/src/user_interface.rs
@@ -5,7 +5,9 @@ use crate::core::mouse;
use crate::core::renderer;
use crate::core::widget;
use crate::core::window;
-use crate::core::{Clipboard, Element, Layout, Point, Rectangle, Shell, Size};
+use crate::core::{
+ Clipboard, Element, Layout, Point, Rectangle, Shell, Size, Vector,
+};
use crate::overlay;
/// A set of interactive graphical elements with a specific [`Layout`].
@@ -199,7 +201,8 @@ where
let bounds = self.bounds;
let mut overlay = manual_overlay.as_mut().unwrap();
- let mut layout = overlay.layout(renderer, bounds, Point::ORIGIN);
+ let mut layout =
+ overlay.layout(renderer, bounds, Point::ORIGIN, Vector::ZERO);
let mut event_statuses = Vec::new();
for event in events.iter().cloned() {
@@ -253,8 +256,12 @@ where
overlay = manual_overlay.as_mut().unwrap();
shell.revalidate_layout(|| {
- layout =
- overlay.layout(renderer, bounds, Point::ORIGIN);
+ layout = overlay.layout(
+ renderer,
+ bounds,
+ Point::ORIGIN,
+ Vector::ZERO,
+ );
});
}
@@ -448,7 +455,12 @@ where
.map(overlay::Nested::new)
{
let overlay_layout = self.overlay.take().unwrap_or_else(|| {
- overlay.layout(renderer, self.bounds, Point::ORIGIN)
+ overlay.layout(
+ renderer,
+ self.bounds,
+ Point::ORIGIN,
+ Vector::ZERO,
+ )
});
let cursor = if cursor
@@ -566,8 +578,12 @@ where
.map(overlay::Nested::new)
{
if self.overlay.is_none() {
- self.overlay =
- Some(overlay.layout(renderer, self.bounds, Point::ORIGIN));
+ self.overlay = Some(overlay.layout(
+ renderer,
+ self.bounds,
+ Point::ORIGIN,
+ Vector::ZERO,
+ ));
}
overlay.operate(