tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 788HTML 740Markdown 12TOML 62536 Definiciones

cargo fmt

97ae47bc9a24c36d2fe3fe38246151a64e6f91a7 · por Emil Sjölander · (hace 7 años) · padre 9c58402c0 · ver el árbol en este commit

Delta semántico · 1

src/algo.rs

1 archivos · +145 −102

diff --git a/src/algo.rs b/src/algo.rs
index 0fb71e1a1..f466c90d8 100644
--- a/src/algo.rs
+++ b/src/algo.rs
@@ -229,7 +229,7 @@ fn compute_internal(
 
     let (border_main, border_cross) = (border_main_start + border_main_end, border_cross_start + border_cross_end);
 
-    let (node_inner_main, _node_inner_cross) =
+    let (node_inner_main, node_inner_cross) =
         (node_main - border_main - padding_main, node_cross - border_cross - padding_cross);
 
     let wrap_reverse = node.flex_wrap == style::FlexWrap::WrapReverse;
@@ -270,7 +270,8 @@ fn compute_internal(
 
             offset_main: 0.0,
             offset_cross: 0.0,
-        }).collect();
+        })
+        .collect();
 
     // 2. Determine the available main and cross space for the flex items.
     //    For each dimension, if that dimension of the flex container’s content box
@@ -385,7 +386,8 @@ fn compute_internal(
             if node.flex_direction.is_row() { available_main } else { available_cross },
             if node.flex_direction.is_row() { available_cross } else { available_main },
             percent_calc_base_child,
-        ).size;
+        )
+        .size;
 
         child.flex_basis = size
             .main(node.flex_direction)
@@ -415,7 +417,8 @@ fn compute_internal(
                 if node.flex_direction.is_row() { available_main } else { available_cross },
                 if node.flex_direction.is_row() { available_cross } else { available_main },
                 percent_calc_base_child,
-            ).size
+            )
+            .size
             .width
             .min(child.node.width.resolve(percent_calc_base_child, f32::NAN))
             .max(child.node.min_width.resolve(percent_calc_base_child, f32::NAN))
@@ -521,7 +524,8 @@ fn compute_internal(
                     if node.flex_direction.is_row() { available_main } else { available_cross },
                     if node.flex_direction.is_row() { available_cross } else { available_main },
                     percent_calc_base_child,
-                ).size
+                )
+                .size
                 .main(node.flex_direction)
                 .max(child.node.min_main_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
                 .min(child.node.max_main_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN));
@@ -555,7 +559,8 @@ fn compute_internal(
                 child.node.main_margin_start(node.flex_direction).resolve(percent_calc_base_child, 0.0)
                     + child.node.main_margin_end(node.flex_direction).resolve(percent_calc_base_child, 0.0)
                     + if child.frozen { child.target_main_size } else { child.flex_basis }
-            }).sum();
+            })
+            .sum();
 
         let initial_free_space = node_inner_main - used_space;
 
@@ -591,7 +596,8 @@ fn compute_internal(
                     child.node.main_margin_start(node.flex_direction).resolve(percent_calc_base_child, 0.0)
                         + child.node.main_margin_end(node.flex_direction).resolve(percent_calc_base_child, 0.0)
                         + if child.frozen { child.target_main_size } else { child.flex_basis }
-                }).sum();
+                })
+                .sum();
 
             let sum_flex_grow: f32 = unfrozen.iter().map(|item| item.node.flex_grow).sum();
             let sum_flex_shrink: f32 = unfrozen.iter().map(|item| item.node.flex_shrink).sum();
@@ -661,7 +667,8 @@ fn compute_internal(
                         if node.flex_direction.is_row() { available_main } else { available_cross },
                         if node.flex_direction.is_row() { available_cross } else { available_main },
                         percent_calc_base_child,
-                    ).size
+                    )
+                    .size
                     .width
                     .min(child.node.width.resolve(percent_calc_base_child, f32::NAN))
                     .max(child.node.min_width.resolve(percent_calc_base_child, f32::NAN))
@@ -750,7 +757,8 @@ fn compute_internal(
                 if node.flex_direction.is_row() { container_main_size } else { available_cross },
                 if node.flex_direction.is_row() { available_cross } else { container_main_size },
                 percent_calc_base_child,
-            ).size;
+            )
+            .size;
 
             child.hypothetical_inner_cross_size = size
                 .cross(node.flex_direction)
@@ -833,7 +841,8 @@ fn compute_internal(
                     } else {
                         child.hypothetical_outer_cross_size
                     }
-                }).fold(0.0, |acc, x| acc.max(x));
+                })
+                .fold(0.0, |acc, x| acc.max(x));
         }
     }
 
@@ -896,8 +905,8 @@ fn compute_internal(
                 (line.cross_size
                     - child.node.cross_margin_start(node.flex_direction).resolve(percent_calc_base_child, 0.0)
                     - child.node.cross_margin_end(node.flex_direction).resolve(percent_calc_base_child, 0.0))
-                    .safe_max(child.node.min_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
-                    .safe_min(child.node.max_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
+                .safe_max(child.node.min_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
+                .safe_min(child.node.max_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
             } else {
                 child.hypothetical_inner_cross_size
             };
@@ -957,31 +966,41 @@ fn compute_internal(
 
             let justify_item = |child: &mut FlexItem| {
                 child.offset_main = match node.justify_content {
-                    style::JustifyContent::FlexStart => if layout_reverse && is_first {
-                        free_space
-                    } else {
-                        0.0
-                    },
-                    style::JustifyContent::Center => if is_first {
-                        free_space / 2.0
-                    } else {
-                        0.0
-                    },
-                    style::JustifyContent::FlexEnd => if is_first && !layout_reverse {
-                        free_space
-                    } else {
-                        0.0
-                    },
-                    style::JustifyContent::SpaceBetween => if is_first {
-                        0.0
-                    } else {
-                        free_space / (num_items - 1) as f32
-                    },
-                    style::JustifyContent::SpaceAround => if is_first {
-                        (free_space / num_items as f32) / 2.0
-                    } else {
-                        free_space / num_items as f32
-                    },
+                    style::JustifyContent::FlexStart => {
+                        if layout_reverse && is_first {
+                            free_space
+                        } else {
+                            0.0
+                        }
+                    }
+                    style::JustifyContent::Center => {
+                        if is_first {
+                            free_space / 2.0
+                        } else {
+                            0.0
+                        }
+                    }
+                    style::JustifyContent::FlexEnd => {
+                        if is_first && !layout_reverse {
+                            free_space
+                        } else {
+                            0.0
+                        }
+                    }
+                    style::JustifyContent::SpaceBetween => {
+                        if is_first {
+                            0.0
+                        } else {
+                            free_space / (num_items - 1) as f32
+                        }
+                    }
+                    style::JustifyContent::SpaceAround => {
+                        if is_first {
+                            (free_space / num_items as f32) / 2.0
+                        } else {
+                            free_space / num_items as f32
+                        }
+                    }
                     style::JustifyContent::SpaceEvenly => free_space / (num_items + 1) as f32,
                 };
 
@@ -1033,16 +1052,20 @@ fn compute_internal(
 
                 child.offset_cross = match child.node.align_self(node) {
                     style::AlignSelf::Auto => 0.0, // Should never happen
-                    style::AlignSelf::FlexStart => if wrap_reverse {
-                        free_space
-                    } else {
-                        0.0
-                    },
-                    style::AlignSelf::FlexEnd => if wrap_reverse {
-                        0.0
-                    } else {
-                        free_space
-                    },
+                    style::AlignSelf::FlexStart => {
+                        if wrap_reverse {
+                            free_space
+                        } else {
+                            0.0
+                        }
+                    }
+                    style::AlignSelf::FlexEnd => {
+                        if wrap_reverse {
+                            0.0
+                        } else {
+                            free_space
+                        }
+                    }
                     style::AlignSelf::Center => free_space / 2.0,
                     style::AlignSelf::Baseline => {
                         if node.flex_direction.is_row() {
@@ -1057,11 +1080,13 @@ fn compute_internal(
                             }
                         }
                     }
-                    style::AlignSelf::Stretch => if wrap_reverse {
-                        free_space
-                    } else {
-                        0.0
-                    },
+                    style::AlignSelf::Stretch => {
+                        if wrap_reverse {
+                            free_space
+                        } else {
+                            0.0
+                        }
+                    }
                 };
             }
         }
@@ -1086,32 +1111,42 @@ fn compute_internal(
 
     let align_line = |line: &mut FlexLine| {
         line.offset_cross = match node.align_content {
-            style::AlignContent::FlexStart => if is_first && wrap_reverse {
-                free_space
-            } else {
-                0.0
-            },
-            style::AlignContent::FlexEnd => if is_first && !wrap_reverse {
-                free_space
-            } else {
-                0.0
-            },
-            style::AlignContent::Center => if is_first {
-                free_space / 2.0
-            } else {
-                0.0
-            },
+            style::AlignContent::FlexStart => {
+                if is_first && wrap_reverse {
+                    free_space
+                } else {
+                    0.0
+                }
+            }
+            style::AlignContent::FlexEnd => {
+                if is_first && !wrap_reverse {
+                    free_space
+                } else {
+                    0.0
+                }
+            }
+            style::AlignContent::Center => {
+                if is_first {
+                    free_space / 2.0
+                } else {
+                    0.0
+                }
+            }
             style::AlignContent::Stretch => 0.0,
-            style::AlignContent::SpaceBetween => if is_first {
-                0.0
-            } else {
-                free_space / (num_lines - 1) as f32
-            },
-            style::AlignContent::SpaceAround => if is_first {
-                (free_space / num_lines as f32) / 2.0
-            } else {
-                free_space / num_lines as f32
-            },
+            style::AlignContent::SpaceBetween => {
+                if is_first {
+                    0.0
+                } else {
+                    free_space / (num_lines - 1) as f32
+                }
+            }
+            style::AlignContent::SpaceAround => {
+                if is_first {
+                    (free_space / num_lines as f32) / 2.0
+                } else {
+                    free_space / num_lines as f32
+                }
+            }
         };
         is_first = false;
     };
@@ -1251,16 +1286,18 @@ fn compute_internal(
             container_main_size,
         );
 
-        let free_main_space = container_main_size - result
-            .size
-            .main(node.flex_direction)
-            .max(child.min_main_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
-            .min(child.max_main_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN));
-        let free_cross_space = container_cross_size - result
-            .size
-            .cross(node.flex_direction)
-            .max(child.min_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
-            .min(child.max_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN));
+        let free_main_space = container_main_size
+            - result
+                .size
+                .main(node.flex_direction)
+                .max(child.min_main_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
+                .min(child.max_main_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN));
+        let free_cross_space = container_cross_size
+            - result
+                .size
+                .cross(node.flex_direction)
+                .max(child.min_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN))
+                .min(child.max_cross_size(node.flex_direction).resolve(percent_calc_base_child, f32::NAN));
 
         let offset_main = if start_main.is_finite() {
             start_main + border_main_start
@@ -1285,23 +1322,29 @@ fn compute_internal(
         } else {
             match child.align_self(node) {
                 style::AlignSelf::Auto => 0.0, // Should never happen
-                style::AlignSelf::FlexStart => if wrap_reverse {
-                    free_cross_space - padding_cross_end - border_cross_end
-                } else {
-                    padding_cross_start + border_cross_start
-                },
-                style::AlignSelf::FlexEnd => if wrap_reverse {
-                    padding_cross_start + border_cross_start
-                } else {
-                    free_cross_space - padding_cross_end - border_cross_end
-                },
+                style::AlignSelf::FlexStart => {
+                    if wrap_reverse {
+                        free_cross_space - padding_cross_end - border_cross_end
+                    } else {
+                        padding_cross_start + border_cross_start
+                    }
+                }
+                style::AlignSelf::FlexEnd => {
+                    if wrap_reverse {
+                        padding_cross_start + border_cross_start
+                    } else {
+                        free_cross_space - padding_cross_end - border_cross_end
+                    }
+                }
                 style::AlignSelf::Center => free_cross_space / 2.0,
                 style::AlignSelf::Baseline => free_cross_space / 2.0, // Treat as center for now until we have baseline support
-                style::AlignSelf::Stretch => if wrap_reverse {
-                    free_cross_space - padding_cross_end - border_cross_end
-                } else {
-                    padding_cross_start + border_cross_start
-                },
+                style::AlignSelf::Stretch => {
+                    if wrap_reverse {
+                        free_cross_space - padding_cross_end - border_cross_end
+                    } else {
+                        padding_cross_start + border_cross_start
+                    }
+                }
             }
         };