summaryrefslogtreecommitdiffstats
path: root/native/src/layout/node.rs
diff options
context:
space:
mode:
Diffstat (limited to 'native/src/layout/node.rs')
-rw-r--r--native/src/layout/node.rs23
1 files changed, 21 insertions, 2 deletions
diff --git a/native/src/layout/node.rs b/native/src/layout/node.rs
index 64ebf2d0..ed1cd3da 100644
--- a/native/src/layout/node.rs
+++ b/native/src/layout/node.rs
@@ -1,16 +1,25 @@
use crate::{Align, Rectangle, Size};
+/// The bounds of an element and its children.
#[derive(Debug, Clone, Default)]
pub struct Node {
- pub bounds: Rectangle,
+ pub(crate) bounds: Rectangle,
children: Vec<Node>,
}
impl Node {
+ /// Creates a new [`Node`] with the given [`Size`].
+ ///
+ /// [`Node`]: struct.Node.html
+ /// [`Size`]: ../struct.Size.html
pub fn new(size: Size) -> Self {
Self::with_children(size, Vec::new())
}
+ /// Creates a new [`Node`] with the given [`Size`] and children.
+ ///
+ /// [`Node`]: struct.Node.html
+ /// [`Size`]: ../struct.Size.html
pub fn with_children(size: Size, children: Vec<Node>) -> Self {
Node {
bounds: Rectangle {
@@ -23,19 +32,29 @@ impl Node {
}
}
+ /// Returns the [`Size`] of the [`Node`].
+ ///
+ /// [`Node`]: struct.Node.html
+ /// [`Size`]: ../struct.Size.html
pub fn size(&self) -> Size {
Size::new(self.bounds.width, self.bounds.height)
}
+ /// Returns the bounds of the [`Node`].
+ ///
+ /// [`Node`]: struct.Node.html
pub fn bounds(&self) -> Rectangle {
self.bounds
}
+ /// Returns the children of the [`Node`].
+ ///
+ /// [`Node`]: struct.Node.html
pub fn children(&self) -> &[Node] {
&self.children
}
- pub fn align(
+ pub(crate) fn align(
&mut self,
horizontal_alignment: Align,
vertical_alignment: Align,