tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 497HTML 254C 19JavaScript 81329 Sutichaykuna

⎇ 2e0d1bd2f08d3e477e564acfbed30c9caa2e0440 examples/basic.rs Rust · 29 siq'ikuna · 851 B Ñawpa willay Pi imata llamkarqan ch'uya

Make library more usable in a `const` context (#203) 3535699e0 · Alice Cecile ·

1use taffy::prelude::*;
2
3fn main() -> Result<(), taffy::error::TaffyError> {
4    let mut taffy = Taffy::new();
5
6    let child = taffy.new_leaf(FlexboxLayout {
7        size: Size { width: Dimension::Percent(0.5), height: Dimension::Auto },
8        ..Default::default()
9    })?;
10
11    let node = taffy.new_with_children(
12        FlexboxLayout {
13            size: Size { width: Dimension::Points(100.0), height: Dimension::Points(100.0) },
14            justify_content: JustifyContent::Center,
15            ..Default::default()
16        },
17        &[child],
18    )?;
19
20    taffy.compute_layout(node, Size { height: Some(100.0), width: Some(100.0) })?;
21
22    // or just use undefined for 100 x 100
23    // taffy.compute_layout(node, Size::NONE)?;
24
25    println!("node: {:#?}", taffy.layout(node)?);
26    println!("child: {:#?}", taffy.layout(child)?);
27
28    Ok(())
29}