summaryrefslogtreecommitdiff
path: root/src/layout
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout')
-rw-r--r--src/layout/fixed.rs4
-rw-r--r--src/layout/node.rs19
-rw-r--r--src/layout/pad.rs4
-rw-r--r--src/layout/par.rs4
-rw-r--r--src/layout/stack.rs4
5 files changed, 14 insertions, 21 deletions
diff --git a/src/layout/fixed.rs b/src/layout/fixed.rs
index 2ec46df3..cb69b178 100644
--- a/src/layout/fixed.rs
+++ b/src/layout/fixed.rs
@@ -25,8 +25,8 @@ impl Layout for NodeFixed {
}
}
-impl From<NodeFixed> for Node {
+impl From<NodeFixed> for NodeAny {
fn from(fixed: NodeFixed) -> Self {
- Self::any(fixed)
+ Self::new(fixed)
}
}
diff --git a/src/layout/node.rs b/src/layout/node.rs
index c945ee19..fa7fe010 100644
--- a/src/layout/node.rs
+++ b/src/layout/node.rs
@@ -14,16 +14,6 @@ pub enum Node {
Any(NodeAny),
}
-impl Node {
- /// Create a new dynamic node.
- pub fn any<T>(any: T) -> Self
- where
- T: Layout + Debug + Clone + PartialEq + 'static,
- {
- Self::Any(NodeAny::new(any))
- }
-}
-
impl Layout for Node {
fn layout(&self, ctx: &mut LayoutContext, areas: &Areas) -> Layouted {
match self {
@@ -81,9 +71,12 @@ impl Debug for NodeAny {
}
}
-impl From<NodeAny> for Node {
- fn from(dynamic: NodeAny) -> Self {
- Self::Any(dynamic)
+impl<T> From<T> for Node
+where
+ T: Into<NodeAny>,
+{
+ fn from(t: T) -> Self {
+ Self::Any(t.into())
}
}
diff --git a/src/layout/pad.rs b/src/layout/pad.rs
index f947a7f5..9e2718c3 100644
--- a/src/layout/pad.rs
+++ b/src/layout/pad.rs
@@ -29,9 +29,9 @@ impl Layout for NodePad {
}
}
-impl From<NodePad> for Node {
+impl From<NodePad> for NodeAny {
fn from(pad: NodePad) -> Self {
- Self::any(pad)
+ Self::new(pad)
}
}
diff --git a/src/layout/par.rs b/src/layout/par.rs
index 3a8e3969..7b2e4e92 100644
--- a/src/layout/par.rs
+++ b/src/layout/par.rs
@@ -36,9 +36,9 @@ impl Layout for NodePar {
}
}
-impl From<NodePar> for Node {
+impl From<NodePar> for NodeAny {
fn from(par: NodePar) -> Self {
- Self::any(par)
+ Self::new(par)
}
}
diff --git a/src/layout/stack.rs b/src/layout/stack.rs
index e98be7ed..eac631d9 100644
--- a/src/layout/stack.rs
+++ b/src/layout/stack.rs
@@ -34,9 +34,9 @@ impl Layout for NodeStack {
}
}
-impl From<NodeStack> for Node {
+impl From<NodeStack> for NodeAny {
fn from(stack: NodeStack) -> Self {
- Self::any(stack)
+ Self::new(stack)
}
}