summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-01 01:08:21 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-01 01:08:21 +0100
commit738aa47547818ebf57dc4f00099386a5a22a86d5 (patch)
tree4f262c1bc4d9b55f030146ec2a6f9b6cc421a6c5 /runtime
parent7bbe4502170be1942c4e61d222e14401f724aa42 (diff)
downloadiced-738aa47547818ebf57dc4f00099386a5a22a86d5.tar.gz
iced-738aa47547818ebf57dc4f00099386a5a22a86d5.tar.bz2
iced-738aa47547818ebf57dc4f00099386a5a22a86d5.zip
Remove `position` from `overlay::Element`
Diffstat (limited to 'runtime')
-rw-r--r--runtime/src/overlay/nested.rs21
-rw-r--r--runtime/src/user_interface.rs62
2 files changed, 37 insertions, 46 deletions
diff --git a/runtime/src/overlay/nested.rs b/runtime/src/overlay/nested.rs
index 60e2eb87..ddb9532b 100644
--- a/runtime/src/overlay/nested.rs
+++ b/runtime/src/overlay/nested.rs
@@ -4,9 +4,7 @@ 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, Vector,
-};
+use crate::core::{Clipboard, Event, Layout, Point, Rectangle, Shell, Size};
/// An overlay container that displays nested overlays
#[allow(missing_debug_implementations)]
@@ -25,11 +23,6 @@ where
Self { overlay: element }
}
- /// Returns the position of the [`Nested`] overlay.
- pub fn position(&self) -> Point {
- self.overlay.position()
- }
-
/// Returns the layout [`Node`] of the [`Nested`] overlay.
///
/// [`Node`]: layout::Node
@@ -37,36 +30,30 @@ where
&mut self,
renderer: &Renderer,
bounds: Size,
- _position: Point,
- translation: Vector,
) -> layout::Node {
fn recurse<Message, Theme, Renderer>(
element: &mut overlay::Element<'_, Message, Theme, Renderer>,
renderer: &Renderer,
bounds: Size,
- translation: Vector,
) -> layout::Node
where
Renderer: renderer::Renderer,
{
- let node = element.layout(renderer, bounds, translation);
+ let node = element.layout(renderer, bounds);
if let Some(mut nested) =
element.overlay(Layout::new(&node), renderer)
{
layout::Node::with_children(
node.size(),
- vec![
- node,
- recurse(&mut nested, renderer, bounds, translation),
- ],
+ vec![node, recurse(&mut nested, renderer, bounds)],
)
} else {
layout::Node::with_children(node.size(), vec![node])
}
}
- recurse(&mut self.overlay, renderer, bounds, translation)
+ recurse(&mut self.overlay, renderer, bounds)
}
/// Draws the [`Nested`] overlay using the associated `Renderer`.
diff --git a/runtime/src/user_interface.rs b/runtime/src/user_interface.rs
index 054d56b7..08431ced 100644
--- a/runtime/src/user_interface.rs
+++ b/runtime/src/user_interface.rs
@@ -5,9 +5,7 @@ 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, Vector,
-};
+use crate::core::{Clipboard, Element, Layout, Rectangle, Shell, Size, Vector};
use crate::overlay;
/// A set of interactive graphical elements with a specific [`Layout`].
@@ -193,7 +191,12 @@ where
let mut manual_overlay = ManuallyDrop::new(
self.root
.as_widget_mut()
- .overlay(&mut self.state, Layout::new(&self.base), renderer)
+ .overlay(
+ &mut self.state,
+ Layout::new(&self.base),
+ renderer,
+ Vector::ZERO,
+ )
.map(overlay::Nested::new),
);
@@ -201,8 +204,7 @@ where
let bounds = self.bounds;
let mut overlay = manual_overlay.as_mut().unwrap();
- let mut layout =
- overlay.layout(renderer, bounds, Point::ORIGIN, Vector::ZERO);
+ let mut layout = overlay.layout(renderer, bounds);
let mut event_statuses = Vec::new();
for event in events.iter().cloned() {
@@ -245,6 +247,7 @@ where
&mut self.state,
Layout::new(&self.base),
renderer,
+ Vector::ZERO,
)
.map(overlay::Nested::new),
);
@@ -256,12 +259,7 @@ where
overlay = manual_overlay.as_mut().unwrap();
shell.revalidate_layout(|| {
- layout = overlay.layout(
- renderer,
- bounds,
- Point::ORIGIN,
- Vector::ZERO,
- );
+ layout = overlay.layout(renderer, bounds);
});
}
@@ -451,17 +449,18 @@ where
let base_cursor = if let Some(mut overlay) = self
.root
.as_widget_mut()
- .overlay(&mut self.state, Layout::new(&self.base), renderer)
+ .overlay(
+ &mut self.state,
+ Layout::new(&self.base),
+ renderer,
+ Vector::ZERO,
+ )
.map(overlay::Nested::new)
{
- let overlay_layout = self.overlay.take().unwrap_or_else(|| {
- overlay.layout(
- renderer,
- self.bounds,
- Point::ORIGIN,
- Vector::ZERO,
- )
- });
+ let overlay_layout = self
+ .overlay
+ .take()
+ .unwrap_or_else(|| overlay.layout(renderer, self.bounds));
let cursor = if cursor
.position()
@@ -520,7 +519,12 @@ where
.as_ref()
.and_then(|layout| {
root.as_widget_mut()
- .overlay(&mut self.state, Layout::new(base), renderer)
+ .overlay(
+ &mut self.state,
+ Layout::new(base),
+ renderer,
+ Vector::ZERO,
+ )
.map(overlay::Nested::new)
.map(|mut overlay| {
let overlay_interaction = overlay.mouse_interaction(
@@ -574,16 +578,16 @@ where
if let Some(mut overlay) = self
.root
.as_widget_mut()
- .overlay(&mut self.state, Layout::new(&self.base), renderer)
+ .overlay(
+ &mut self.state,
+ Layout::new(&self.base),
+ renderer,
+ Vector::ZERO,
+ )
.map(overlay::Nested::new)
{
if self.overlay.is_none() {
- self.overlay = Some(overlay.layout(
- renderer,
- self.bounds,
- Point::ORIGIN,
- Vector::ZERO,
- ));
+ self.overlay = Some(overlay.layout(renderer, self.bounds));
}
overlay.operate(