summaryrefslogtreecommitdiffstats
path: root/native/src/layout.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-03-04 05:37:11 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-03-04 05:37:11 +0100
commit3a0d34c0240f4421737a6a08761f99d6f8140d02 (patch)
treec9a4a6b8e9c1db1b8fcd05bc98e3f131d5ef4bd5 /native/src/layout.rs
parentc54409d1711e1f615c7ea4b02c082954e340632a (diff)
downloadiced-3a0d34c0240f4421737a6a08761f99d6f8140d02.tar.gz
iced-3a0d34c0240f4421737a6a08761f99d6f8140d02.tar.bz2
iced-3a0d34c0240f4421737a6a08761f99d6f8140d02.zip
Create `iced_widget` subcrate and re-organize the whole codebase
Diffstat (limited to 'native/src/layout.rs')
-rw-r--r--native/src/layout.rs65
1 files changed, 0 insertions, 65 deletions
diff --git a/native/src/layout.rs b/native/src/layout.rs
deleted file mode 100644
index 04954fb9..00000000
--- a/native/src/layout.rs
+++ /dev/null
@@ -1,65 +0,0 @@
-//! Position your widgets properly.
-mod limits;
-mod node;
-
-pub mod flex;
-
-pub use limits::Limits;
-pub use node::Node;
-
-use crate::{Point, Rectangle, Vector};
-
-/// The bounds of a [`Node`] and its children, using absolute coordinates.
-#[derive(Debug, Clone, Copy)]
-pub struct Layout<'a> {
- position: Point,
- node: &'a Node,
-}
-
-impl<'a> Layout<'a> {
- /// Creates a new [`Layout`] for the given [`Node`] at the origin.
- pub fn new(node: &'a Node) -> Self {
- Self::with_offset(Vector::new(0.0, 0.0), node)
- }
-
- /// Creates a new [`Layout`] for the given [`Node`] with the provided offset
- /// from the origin.
- pub fn with_offset(offset: Vector, node: &'a Node) -> Self {
- let bounds = node.bounds();
-
- Self {
- position: Point::new(bounds.x, bounds.y) + offset,
- node,
- }
- }
-
- /// Returns the position of the [`Layout`].
- pub fn position(&self) -> Point {
- self.position
- }
-
- /// Returns the bounds of the [`Layout`].
- ///
- /// The returned [`Rectangle`] describes the position and size of a
- /// [`Node`].
- pub fn bounds(&self) -> Rectangle {
- let bounds = self.node.bounds();
-
- Rectangle {
- x: self.position.x,
- y: self.position.y,
- width: bounds.width,
- height: bounds.height,
- }
- }
-
- /// Returns an iterator over the [`Layout`] of the children of a [`Node`].
- pub fn children(self) -> impl Iterator<Item = Layout<'a>> {
- self.node.children().iter().map(move |node| {
- Layout::with_offset(
- Vector::new(self.position.x, self.position.y),
- node,
- )
- })
- }
-}