tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 497HTML 254C 19JavaScript 81329 Sutichaykuna

⎇ 9e53f03adea2b770d68954e404d2fa407dfc7d40 benches/generated/flex_shrink_to_zero.rs Rust · 55 siq'ikuna · 1.8 KB Ñawpa willay Pi imata llamkarqan ch'uya

Layout algorithm decoupling, Sizing Constraints & Perf Improvements (#246) ba4cd3c3b · Nico Burns ·

1pub fn compute() {
2    let mut taffy = taffy::Taffy::new();
3    let node0 = taffy
4        .new_with_children(
5            taffy::style::FlexboxLayout {
6                flex_shrink: 0f32,
7                size: taffy::geometry::Size {
8                    width: taffy::style::Dimension::Points(50f32),
9                    height: taffy::style::Dimension::Points(50f32),
10                    ..Default::default()
11                },
12                ..Default::default()
13            },
14            &[],
15        )
16        .unwrap();
17    let node1 = taffy
18        .new_with_children(
19            taffy::style::FlexboxLayout {
20                flex_shrink: 1f32,
21                size: taffy::geometry::Size {
22                    width: taffy::style::Dimension::Points(50f32),
23                    height: taffy::style::Dimension::Points(50f32),
24                    ..Default::default()
25                },
26                ..Default::default()
27            },
28            &[],
29        )
30        .unwrap();
31    let node2 = taffy
32        .new_with_children(
33            taffy::style::FlexboxLayout {
34                flex_shrink: 0f32,
35                size: taffy::geometry::Size {
36                    width: taffy::style::Dimension::Points(50f32),
37                    height: taffy::style::Dimension::Points(50f32),
38                    ..Default::default()
39                },
40                ..Default::default()
41            },
42            &[],
43        )
44        .unwrap();
45    let node = taffy
46        .new_with_children(
47            taffy::style::FlexboxLayout {
48                size: taffy::geometry::Size { width: taffy::style::Dimension::Points(75f32), ..Default::default() },
49                ..Default::default()
50            },
51            &[node0, node1, node2],
52        )
53        .unwrap();
54    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
55}