tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 707HTML 660Markdown 12TOML 62344 Sutichaykuna

⎇ 4f43428b5e387dafa19cbcc0c5217fc8e61d0ce6 benches/generated/grid_min_content_flex_column.rs Rust · 54 siq'ikuna · 2.1 KB Ñawpa willay Pi imata llamkarqan ch'uya

Grid/width depends on height tests (#300) 4f43428b5 · Nico Burns ·

1pub fn compute() {
2    #[allow(unused_imports)]
3    use taffy::prelude::*;
4    let mut taffy = taffy::Taffy::new();
5    let node00 = taffy
6        .new_leaf_with_measure(
7            taffy::style::Style { ..Default::default() },
8            taffy::node::MeasureFunc::Raw(|known_dimensions, available_space| {
9                const TEXT: &str = "HH\u{200b}HH";
10                super::measure_standard_text(known_dimensions, available_space, TEXT, super::WritingMode::Horizontal)
11            }),
12        )
13        .unwrap();
14    let node01 = taffy
15        .new_leaf_with_measure(
16            taffy::style::Style { ..Default::default() },
17            taffy::node::MeasureFunc::Raw(|known_dimensions, available_space| {
18                const TEXT: &str = "HH\u{200b}HH";
19                super::measure_standard_text(known_dimensions, available_space, TEXT, super::WritingMode::Horizontal)
20            }),
21        )
22        .unwrap();
23    let node02 = taffy
24        .new_leaf_with_measure(
25            taffy::style::Style { ..Default::default() },
26            taffy::node::MeasureFunc::Raw(|known_dimensions, available_space| {
27                const TEXT: &str = "HH\u{200b}HH";
28                super::measure_standard_text(known_dimensions, available_space, TEXT, super::WritingMode::Horizontal)
29            }),
30        )
31        .unwrap();
32    let node0 = taffy
33        .new_with_children(
34            taffy::style::Style {
35                display: taffy::style::Display::Flex,
36                flex_direction: taffy::style::FlexDirection::Column,
37                ..Default::default()
38            },
39            &[node00, node01, node02],
40        )
41        .unwrap();
42    let node = taffy
43        .new_with_children(
44            taffy::style::Style {
45                display: taffy::style::Display::Grid,
46                grid_template_rows: vec![points(40f32)],
47                grid_template_columns: vec![min_content()],
48                ..Default::default()
49            },
50            &[node0],
51        )
52        .unwrap();
53    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
54}