summaryrefslogtreecommitdiffstats
path: root/runtime/src/overlay/nested.rs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/overlay/nested.rs')
-rw-r--r--runtime/src/overlay/nested.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/runtime/src/overlay/nested.rs b/runtime/src/overlay/nested.rs
index b729f769..4256efb7 100644
--- a/runtime/src/overlay/nested.rs
+++ b/runtime/src/overlay/nested.rs
@@ -4,9 +4,11 @@ use crate::core::mouse;
use crate::core::overlay;
use crate::core::renderer;
use crate::core::widget;
-use crate::core::{Clipboard, Event, Layout, Point, Rectangle, Shell, Size};
+use crate::core::{
+ Clipboard, Event, Layout, Point, Rectangle, Shell, Size, Vector,
+};
-/// An [`Overlay`] container that displays nested overlays
+/// An overlay container that displays nested overlays
#[allow(missing_debug_implementations)]
pub struct Nested<'a, Message, Renderer> {
overlay: overlay::Element<'a, Message, Renderer>,
@@ -27,23 +29,24 @@ where
}
/// Returns the layout [`Node`] of the [`Nested`] overlay.
+ ///
+ /// [`Node`]: layout::Node
pub fn layout(
&mut self,
renderer: &Renderer,
bounds: Size,
- position: Point,
+ _position: Point,
+ translation: Vector,
) -> layout::Node {
fn recurse<Message, Renderer>(
element: &mut overlay::Element<'_, Message, Renderer>,
renderer: &Renderer,
bounds: Size,
- position: Point,
+ translation: Vector,
) -> layout::Node
where
Renderer: renderer::Renderer,
{
- let translation = position - Point::ORIGIN;
-
let node = element.layout(renderer, bounds, translation);
if let Some(mut nested) =
@@ -53,7 +56,7 @@ where
node.size(),
vec![
node,
- recurse(&mut nested, renderer, bounds, position),
+ recurse(&mut nested, renderer, bounds, translation),
],
)
} else {
@@ -61,7 +64,7 @@ where
}
}
- recurse(&mut self.overlay, renderer, bounds, position)
+ recurse(&mut self.overlay, renderer, bounds, translation)
}
/// Draws the [`Nested`] overlay using the associated `Renderer`.
@@ -162,7 +165,7 @@ where
}
}
- recurse(&mut self.overlay, layout, renderer, operation)
+ recurse(&mut self.overlay, layout, renderer, operation);
}
/// Processes a runtime [`Event`].