tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 231Rust 9TOML 3CSS 1345 Sutichaykuna

⎇ ec371711989b7f4d870d91bea4b66bdd94b45c9e benches/generated/grid_max_content_single_item_margin_auto.rs Rust · 48 siq'ikuna · 2.2 KB Ñawpa willay Pi imata llamkarqan ch'uya

Fixes for aspect ratio and min/max sizes (#317) 610c92f31 · Nico Burns ·

1pub fn compute() {
2    #[allow(unused_imports)]
3    use taffy::prelude::*;
4    let mut taffy = taffy::Taffy::new();
5    let node0 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
6    let node1 = taffy
7        .new_leaf_with_measure(
8            taffy::style::Style {
9                margin: taffy::geometry::Rect {
10                    left: taffy::style::LengthPercentageAuto::Auto,
11                    right: taffy::style::LengthPercentageAuto::Auto,
12                    top: taffy::style::LengthPercentageAuto::Auto,
13                    bottom: taffy::style::LengthPercentageAuto::Auto,
14                },
15                ..Default::default()
16            },
17            taffy::node::MeasureFunc::Raw(|known_dimensions, available_space| {
18                const TEXT: &str = "HH\u{200b}HH";
19                super::measure_standard_text(
20                    known_dimensions,
21                    available_space,
22                    TEXT,
23                    super::WritingMode::Horizontal,
24                    None,
25                )
26            }),
27        )
28        .unwrap();
29    let node2 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
30    let node3 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
31    let node4 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
32    let node5 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
33    let node6 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
34    let node7 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
35    let node8 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
36    let node = taffy
37        .new_with_children(
38            taffy::style::Style {
39                display: taffy::style::Display::Grid,
40                grid_template_rows: vec![points(40f32), points(40f32), points(40f32)],
41                grid_template_columns: vec![points(40f32), max_content(), points(40f32)],
42                ..Default::default()
43            },
44            &[node0, node1, node2, node3, node4, node5, node6, node7, node8],
45        )
46        .unwrap();
47    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
48}