tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 788HTML 740Markdown 12TOML 62536 Sutichaykuna

fix percent sizing for children

9089cc97440891fc2ca35afa46a43e2a432d912f · ruwaq Emil Sjölander · (7 wata ñawpaq) · tayta f18a024fe · kay commitpi sach'ata qhaway

Semántico sayk'uy · 1

src/algo.rs

1 qillqakuna · +7 −1

diff --git a/src/algo.rs b/src/algo.rs
index ea3d9ccaf..457bac871 100644
--- a/src/algo.rs
+++ b/src/algo.rs
@@ -193,7 +193,7 @@ fn compute_internal(
 
     let wrap_reverse = node.flex_wrap == style::FlexWrap::WrapReverse;
 
-    let percent_calc_base_child = node.width.resolve(percent_calc_base, f32::NAN);
+    let percent_calc_base_child = node_width;
 
     // 9.2. Line Length Determination
 
@@ -942,6 +942,11 @@ fn compute_internal(
     }
 
     // Do a final layout pass and gather the resulting layouts
+    let percent_calc_base_child = if node.flex_direction.is_row() {
+        container_main_size
+    } else {
+        container_cross_size
+    };
 
     let mut children: Vec<layout::Node> = {
         let mut lines: Vec<Vec<layout::Node>> = vec![];
@@ -962,6 +967,7 @@ fn compute_internal(
                         percent_calc_base_child,
                     );
 
+
                     let offset_main = {
                         total_offset_main
                             + child.offset_main