gioser

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 231Rust 10TOML 3CSS 1348 Sutichaykuna

small fixes

cfb3cb0965ef15c008c4603e40629c1a1da4e0f8 · ruwaq Emil Sjölander · (7 wata ñawpaq) · tayta 43678b20c · kay commitpi sach'ata qhaway

Semántico sayk'uy · 1

src/algo.rs

1 qillqakuna · +6 −13

diff --git a/src/algo.rs b/src/algo.rs
index b385d569e..ca63f425b 100644
--- a/src/algo.rs
+++ b/src/algo.rs
@@ -1109,6 +1109,9 @@ fn compute_internal(
         flex_lines.iter_mut().enumerate().for_each(align_line);
     }
 
+    let container_width = if is_row { container_main_size } else { container_cross_size };
+    let container_height = if is_column { container_main_size } else { container_cross_size };
+
     // Do a final layout pass and gather the resulting layouts
     let mut children: Vec<layout::Node> = {
         let mut lines: Vec<Vec<layout::Node>> = vec![];
@@ -1134,8 +1137,8 @@ fn compute_internal(
                             } else {
                                 child.target_main_size.to_number()
                             },
-                            if is_row { container_main_size.to_number() } else { container_cross_size.to_number() },
-                            if is_row { container_cross_size.to_number() } else { container_main_size.to_number() },
+                            container_width.to_number(),
+                            container_height.to_number(),
                             percent_calc_base_child,
                         );
 
@@ -1194,9 +1197,6 @@ fn compute_internal(
         }
     };
 
-    let container_width = if is_row { container_main_size } else { container_cross_size };
-    let container_height = if is_column { container_main_size } else { container_cross_size };
-
     // Before returning we perform absolute layout on all absolutely positioned children
     let mut absolute_children: Vec<layout::Node> = node
         .children
@@ -1229,14 +1229,7 @@ fn compute_internal(
             let width = child_width.or_else(container_width - start - end);
             let height = child_height.or_else(container_height - top - bottom);
 
-            let result = compute_internal(
-                child,
-                width,
-                height,
-                if is_row { container_main_size.to_number() } else { container_cross_size.to_number() },
-                if is_row { container_cross_size.to_number() } else { container_main_size.to_number() },
-                container_width,
-            );
+            let result = compute_internal(child, width, height, container_width, container_height, container_width);
 
             let free_main_space = container_main_size
                 - result