WIP

Nathan Sobo created

Change summary

crates/gpui/playground/src/elements.rs   | 12 +++++++++++-
crates/gpui/playground/src/playground.rs |  3 +++
crates/gpui_macros/src/gpui_macros.rs    |  2 +-
3 files changed, 15 insertions(+), 2 deletions(-)

Detailed changes

crates/gpui/playground/src/elements.rs 🔗

@@ -78,6 +78,16 @@ impl<V: View> Node<V> {
         self
     }
 
+    pub fn row(mut self) -> Self {
+        self.style.axis = Axis3d::X;
+        self
+    }
+
+    pub fn stack(mut self) -> Self {
+        self.style.axis = Axis3d::Z;
+        self
+    }
+
     fn layout_2d_children(
         &mut self,
         axis: Axis2d,
@@ -216,7 +226,7 @@ impl<V: View> Node<V> {
             // Advance along the primary axis by the size of this child
             match axis {
                 Axis2d::X => child_origin.set_x(child_origin.x() + child.size().x()),
-                Axis2d::Y => child_origin.set_y(child_origin.x() + child.size().y()),
+                Axis2d::Y => child_origin.set_y(child_origin.y() + child.size().y()),
             }
         }
     }

crates/gpui/playground/src/playground.rs 🔗

@@ -33,9 +33,12 @@ impl View for PlaygroundView {
             .width(100.)
             .height(100.)
             .fill(Color::red())
+            .row()
             .children([
                 Node::new().width(20.).height(20.).fill(Color::green()),
                 Node::new().width(20.).height(20.).fill(Color::blue()),
+                Node::new().width(30.).height(30.).fill(Color::yellow()),
+                Node::new().width(50.).height(50.).fill(Color::yellow()),
             ])
             .into_any()
 

crates/gpui_macros/src/gpui_macros.rs 🔗

@@ -332,7 +332,7 @@ pub fn element_derive(input: TokenStream) -> TokenStream {
                 _: &(),
                 view: &V,
                 cx: &gpui::ViewContext<V>,
-            ) -> serde_json::Value {
+            ) -> gpui::json::Value {
                 element.debug(view, cx)
             }
         }