summaryrefslogtreecommitdiffstats
path: root/native/src/node.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-11-10 01:55:32 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-11-10 01:55:32 +0100
commit2303111e09d806ef2a652bddc2b73be6dccf6ae2 (patch)
treeba57c5a2fe67d8a58d4f9b32c2b32fee32932f06 /native/src/node.rs
parent839e039dbf2fb89dcb8c141503740777d2af2eb3 (diff)
downloadiced-2303111e09d806ef2a652bddc2b73be6dccf6ae2.tar.gz
iced-2303111e09d806ef2a652bddc2b73be6dccf6ae2.tar.bz2
iced-2303111e09d806ef2a652bddc2b73be6dccf6ae2.zip
Draft new layout API
Diffstat (limited to 'native/src/node.rs')
-rw-r--r--native/src/node.rs60
1 files changed, 0 insertions, 60 deletions
diff --git a/native/src/node.rs b/native/src/node.rs
deleted file mode 100644
index 1db10d7f..00000000
--- a/native/src/node.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-use stretch::node;
-
-use crate::{Number, Size, Style};
-
-/// The visual requirements of a [`Widget`] and its children.
-///
-/// When there have been changes and the [`Layout`] needs to be recomputed, the
-/// runtime obtains a [`Node`] by calling [`Widget::node`].
-///
-/// [`Style`]: struct.Style.html
-/// [`Widget`]: widget/trait.Widget.html
-/// [`Node`]: struct.Node.html
-/// [`Widget::node`]: widget/trait.Widget.html#tymethod.node
-/// [`Layout`]: struct.Layout.html
-#[derive(Debug)]
-pub struct Node(pub(crate) node::Node);
-
-impl Node {
- /// Creates a new [`Node`] with the given [`Style`].
- ///
- /// [`Node`]: struct.Node.html
- /// [`Style`]: struct.Style.html
- pub fn new(style: Style) -> Node {
- Self::with_children(style, Vec::new())
- }
-
- /// Creates a new [`Node`] with the given [`Style`] and a measure function.
- ///
- /// This type of node cannot have any children.
- ///
- /// You should use this when your [`Widget`] can adapt its contents to the
- /// size of its container. The measure function will receive the container
- /// size as a parameter and must compute the size of the [`Node`] inside
- /// the given bounds (if the `Number` for a dimension is `Undefined` it
- /// means that it has no boundary).
- ///
- /// [`Node`]: struct.Node.html
- /// [`Style`]: struct.Style.html
- /// [`Widget`]: widget/trait.Widget.html
- pub fn with_measure<F>(style: Style, measure: F) -> Node
- where
- F: 'static + Fn(Size<Number>) -> Size<f32>,
- {
- Node(node::Node::new_leaf(
- style.0,
- Box::new(move |size| Ok(measure(size))),
- ))
- }
-
- /// Creates a new [`Node`] with the given [`Style`] and children.
- ///
- /// [`Node`]: struct.Node.html
- /// [`Style`]: struct.Style.html
- pub fn with_children(style: Style, children: Vec<Node>) -> Node {
- Node(node::Node::new(
- style.0,
- children.iter().map(|c| &c.0).collect(),
- ))
- }
-}