gioser

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 492HTML 238TOML 3CSS 11112 Definiciones

fix how main and cross are caluclated for absolute items

2d65e48bfa9574f1cc9c906b2f2d3c91c5af3732 · por Emil Sjölander · (hace 7 años) · padre 58812526f · ver el árbol en este commit

Delta semántico · 1

src/algo.rs

1 archivos · +7 −4

diff --git a/src/algo.rs b/src/algo.rs
index 3c630e599..a85e0ba60 100644
--- a/src/algo.rs
+++ b/src/algo.rs
@@ -990,12 +990,15 @@ fn compute_internal(
     for child in absolute_children {
         let start_main = child.main_start(node.flex_direction).resolve(container_main_size, f32::NAN);
         let end_main = child.main_end(node.flex_direction).resolve(container_main_size, f32::NAN);
+        let main = if start_main.is_finite() && end_main.is_finite() {
+            container_main_size - start_main - end_main
+        } else { f32::NAN };
+
         let start_cross = child.cross_start(node.flex_direction).resolve(container_cross_size, f32::NAN);
         let end_cross = child.cross_end(node.flex_direction).resolve(container_cross_size, f32::NAN);
-
-        let main = if start_main.is_finite() && end_main.is_finite() { end_main - start_main } else { f32::NAN };
-
-        let cross = if start_cross.is_finite() && end_cross.is_finite() { end_cross - start_cross } else { f32::NAN };
+        let cross = if start_cross.is_finite() && end_cross.is_finite() { 
+            container_cross_size - start_cross - end_cross
+         } else { f32::NAN };
 
         let result = compute_internal(
             child,