tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 1118HTML 1044Markdown 12TOML 94787 Definiciones

fix percent sizing for children

dcfd23214532e3d4884f855f179e92a379268990 · por Emil Sjölander · (hace 7 años) · padre adc7fd48a · ver el árbol en este commit

Delta semántico · 1

src/algo.rs

1 archivos · +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