tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 5544Rust 88Markdown 11TOML 91926 Definitions

Rename modules (#95)

* Rename algo.rs to flexbox.rs

* Move id.rs into node.rs

* Rename result.rs to layout.rs

8e917781e9dc07dea8694f69867c96baadd70e9a · by Alice Cecile · (4 years ago) · parent e69717ab1 · browse the tree at this commit

Semantic delta · 81

src/id.rs

src/layout.rs

src/lib.rs

src/node.rs

src/result.rs

10 files · +1747 −1754

diff --git a/RELEASES.md b/RELEASES.md
index 3f3b6036a..c19a2e51a 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -7,7 +7,7 @@
 - the `order` field of `Layout` is now public, and describes the relative z-ordering of nodes
 - renamed crate from `stretch2` to `sprawl`
 - updated to the latest version of all dependencies to reduce upstream pain caused by duplicate dependencies
-- Renamed `stretch::node::Strech` -> `sprawl::node::Sprawl`
+- renamed `stretch::node::Strech` -> `sprawl::node::Sprawl`
 
 ### 0.1.0 Fixed
 
diff --git a/src/algo.rs b/src/flexbox.rs
similarity index 99%
rename from src/algo.rs
rename to src/flexbox.rs
index 8a43094d6..e002e019d 100644
--- a/src/algo.rs
+++ b/src/flexbox.rs
@@ -1,13 +1,12 @@
 use core::f32;
 
-use crate::algo::Number::{Defined, Undefined};
+use crate::flexbox::Number::{Defined, Undefined};
 use crate::forest::{Forest, NodeData};
 use crate::geometry::{Point, Rect, Size};
-use crate::id::NodeId;
-use crate::node::MeasureFunc;
+use crate::layout;
+use crate::node::{MeasureFunc, NodeId};
 use crate::number::{MinMax, OrElse};
 use crate::prelude::Number;
-use crate::result;
 use crate::style::{AlignContent, AlignSelf, Dimension, Display, FlexWrap, JustifyContent, PositionType};
 use crate::style::{FlexDirection, Style};
 use crate::sys;
@@ -105,7 +104,7 @@ impl Forest {
             self.compute_internal(root, style.size.resolve(size), size, true, true)
         };
 
-        self.nodes[root].layout = result::Layout { order: 0, size: result.size, location: Point::zero() };
+        self.nodes[root].layout = layout::Layout { order: 0, size: result.size, location: Point::zero() };
 
         Self::round_layout(&mut self.nodes, &self.children, root, 0.0, 0.0);
     }
@@ -132,7 +131,7 @@ impl Forest {
         }
     }
 
-    fn cache(&mut self, node: NodeId, main_size: bool) -> &mut Option<result::Cache> {
+    fn cache(&mut self, node: NodeId, main_size: bool) -> &mut Option<layout::Cache> {
         if main_size {
             &mut self.nodes[node].main_size_layout_cache
         } else {
@@ -781,7 +780,7 @@ impl Forest {
         flex_lines: &mut [FlexLine],
         constants: &AlgoConstants,
     ) {
-        fn calc_baseline(db: &Forest, node: NodeId, layout: &result::Layout) -> f32 {
+        fn calc_baseline(db: &Forest, node: NodeId, layout: &layout::Layout) -> f32 {
             if db.children[node].is_empty() {
                 layout.size.height
             } else {
@@ -821,7 +820,7 @@ impl Forest {
                 child.baseline = calc_baseline(
                     self,
                     child.node,
-                    &result::Layout {
+                    &layout::Layout {
                         order: self.children[node].iter().position(|n| *n == child.node).unwrap() as u32,
                         size: result.size,
                         location: Point::zero(),
@@ -1322,7 +1321,7 @@ impl Forest {
                     + (child.position.cross_start(constants.dir).or_else(0.0)
                         - child.position.cross_end(constants.dir).or_else(0.0));
 
-                self.nodes[child.node].layout = result::Layout {
+                self.nodes[child.node].layout = layout::Layout {
                     order: self.children[node].iter().position(|n| *n == child.node).unwrap() as u32,
                     size: result.size,
                     location: Point {
@@ -1487,7 +1486,7 @@ impl Forest {
                 }
             };
 
-            self.nodes[child].layout = result::Layout {
+            self.nodes[child].layout = layout::Layout {
                 order: order as u32,
                 size: result.size,
                 location: Point {
@@ -1529,7 +1528,7 @@ impl Forest {
                     MeasureFunc::Boxed(measure) => ComputeResult { size: measure(node_size) },
                 };
                 *self.cache(node, main_size) =
-                    Some(result::Cache { node_size, parent_size, perform_layout, result: result.clone() });
+                    Some(layout::Cache { node_size, parent_size, perform_layout, result: result.clone() });
                 return result;
             }
 
@@ -1649,7 +1648,7 @@ impl Forest {
         if !perform_layout {
             let result = ComputeResult { size: constants.container_size };
             *self.cache(node, main_size) =
-                Some(result::Cache { node_size, parent_size, perform_layout, result: result.clone() });
+                Some(layout::Cache { node_size, parent_size, perform_layout, result: result.clone() });
             return result;
         }
 
@@ -1663,7 +1662,7 @@ impl Forest {
         self.perform_absolute_layout_on_absolute_children(node, &constants);
 
         fn hidden_layout(nodes: &mut [NodeData], children: &[sys::ChildrenVec<NodeId>], node: NodeId, order: u32) {
-            nodes[node].layout = result::Layout { order, size: Size::zero(), location: Point::zero() };
+            nodes[node].layout = layout::Layout { order, size: Size::zero(), location: Point::zero() };
 
             for (order, child) in children[node].iter().enumerate() {
                 hidden_layout(nodes, children, *child, order as _);
@@ -1678,7 +1677,7 @@ impl Forest {
 
         let result = ComputeResult { size: constants.container_size };
         *self.cache(node, main_size) =
-            Some(result::Cache { node_size, parent_size, perform_layout, result: result.clone() });
+            Some(layout::Cache { node_size, parent_size, perform_layout, result: result.clone() });
 
         result
     }
diff --git a/src/forest.rs b/src/forest.rs
index 7b5d4535f..e03b3fa88 100644
--- a/src/forest.rs
+++ b/src/forest.rs
@@ -2,10 +2,9 @@
 //!
 //! Backing datastructure for `Sprawl` structs.
 use crate::geometry::Size;
-use crate::id::NodeId;
-use crate::node::MeasureFunc;
+use crate::layout::{Cache, Layout};
+use crate::node::{MeasureFunc, NodeId};
 use crate::number::Number;
-use crate::result::{Cache, Layout};
 use crate::style::Style;
 use crate::sys::{new_vec_with_capacity, ChildrenVec, ParentsVec, Vec};
 
diff --git a/src/id.rs b/src/id.rs
deleted file mode 100644
index a29f12e98..000000000
--- a/src/id.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-//! Identifier for a Node
-//!
-//!
-use core::sync::atomic::{AtomicUsize, Ordering};
-
-/// Internal node id.
-pub(crate) type NodeId = usize;
-
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
-#[cfg_attr(not(any(feature = "std", feature = "alloc")), derive(hash32_derive::Hash32))]
-pub(crate) struct Id(usize);
-
-pub(crate) struct Allocator {
-    new_id: AtomicUsize,
-}
-
-impl Allocator {
-    pub const fn new() -> Self {
-        Self { new_id: AtomicUsize::new(0) }
-    }
-
-    pub fn allocate(&self) -> Id {
-        Id(self.new_id.fetch_add(1, Ordering::Relaxed))
-    }
-
-    pub fn free(&self, _ids: &[Id]) {}
-}
diff --git a/src/result.rs b/src/layout.rs
similarity index 96%
rename from src/result.rs
rename to src/layout.rs
index 0126ccd92..f4be8c371 100644
--- a/src/result.rs
+++ b/src/layout.rs
@@ -1,4 +1,4 @@
-use crate::algo::ComputeResult;
+use crate::flexbox::ComputeResult;
 use crate::geometry::{Point, Size};
 use crate::number::Number;
 
diff --git a/src/lib.rs b/src/lib.rs
index 654384fa4..bc7950ac1 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -9,15 +9,14 @@ extern crate alloc;
 extern crate serde;
 
 pub mod geometry;
+pub mod layout;
 pub mod node;
 pub mod number;
 pub mod prelude;
-pub mod result;
 pub mod style;
 
-mod algo;
+mod flexbox;
 mod forest;
-mod id;
 mod sys;
 
 #[cfg(feature = "std")]
diff --git a/src/node.rs b/src/node.rs
index 19f1881f3..666b08edd 100644
--- a/src/node.rs
+++ b/src/node.rs
@@ -2,14 +2,14 @@ use core::ops::Drop;
 
 use crate::forest::Forest;
 use crate::geometry::Size;
-use crate::id::{Allocator, Id, NodeId};
+use crate::layout::Layout;
 use crate::number::Number;
-use crate::result::Layout;
 use crate::style::Style;
 #[cfg(any(feature = "std", feature = "alloc"))]
 use crate::sys::Box;
 use crate::sys::{new_map_with_capacity, ChildrenVec, Map, Vec};
 use crate::Error;
+use core::sync::atomic::{AtomicUsize, Ordering};
 
 pub enum MeasureFunc {
     Raw(fn(Size<Number>) -> Size<f32>),
@@ -236,3 +236,26 @@ impl Drop for Sprawl {
         INSTANCE_ALLOCATOR.free(&[self.id]);
     }
 }
+
+/// Internal node id.
+pub(crate) type NodeId = usize;
+
+#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
+#[cfg_attr(not(any(feature = "std", feature = "alloc")), derive(hash32_derive::Hash32))]
+pub(crate) struct Id(usize);
+
+pub(crate) struct Allocator {
+    new_id: AtomicUsize,
+}
+
+impl Allocator {
+    pub const fn new() -> Self {
+        Self { new_id: AtomicUsize::new(0) }
+    }
+
+    pub fn allocate(&self) -> Id {
+        Id(self.new_id.fetch_add(1, Ordering::Relaxed))
+    }
+
+    pub fn free(&self, _ids: &[Id]) {}
+}
diff --git a/src/prelude.rs b/src/prelude.rs
index 81ff4804e..a9eec8986 100644
--- a/src/prelude.rs
+++ b/src/prelude.rs
@@ -1,8 +1,8 @@
 pub use crate::{
     geometry::{Rect, Size},
+    layout::Layout,
     node::{Node, Sprawl},
     number::Number,
-    result::Layout,
     style::{
         AlignContent, AlignItems, AlignSelf, Dimension, Direction, Display, FlexDirection, FlexWrap, JustifyContent,
         Overflow, PositionType, Style,