tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 499HTML 245JavaScript 8Markdown 71218 Definiciones

⎇ 0596475afda99229de96976e73b2d637c78fdb8b benches/generated/grid_max_content_single_item_span_2.rs Rust · 46 líneas · 2.1 KB Historia Quién tocó qué crudo

Fix grid track sizing for `fit-content(percentage)` and for items spanning percentage gaps (#335) 0596475af · 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                grid_column: taffy::geometry::Line {
10                    start: taffy::style::GridPlacement::Span(2u16),
11                    end: taffy::style::GridPlacement::Auto,
12                },
13                ..Default::default()
14            },
15            taffy::node::MeasureFunc::Raw(|known_dimensions, available_space| {
16                const TEXT: &str = "HH\u{200b}HH";
17                super::measure_standard_text(
18                    known_dimensions,
19                    available_space,
20                    TEXT,
21                    super::WritingMode::Horizontal,
22                    None,
23                )
24            }),
25        )
26        .unwrap();
27    let node2 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
28    let node3 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
29    let node4 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
30    let node5 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
31    let node6 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
32    let node7 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
33    let node8 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
34    let node = taffy
35        .new_with_children(
36            taffy::style::Style {
37                display: taffy::style::Display::Grid,
38                grid_template_rows: vec![points(40f32), points(40f32), points(40f32)],
39                grid_template_columns: vec![points(40f32), max_content(), max_content()],
40                ..Default::default()
41            },
42            &[node0, node1, node2, node3, node4, node5, node6, node7, node8],
43        )
44        .unwrap();
45    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
46}