gioser

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 5364Rust 86Markdown 12TOML 91841 Definitions

⎇ b1ea6794519524c818057af327f78c09ff379453 examples/basic.rs Rust · 29 lines · 876 B History Who touched what raw

Replace Number type with a simpler Option<f32> (#144) b1ea67945 · Alice Cecile ·

1use taffy::prelude::*;
2
3fn main() -> Result<(), taffy::error::InvalidNode> {
4    let mut taffy = Taffy::new();
5
6    let child = taffy.new_with_children(
7        FlexboxLayout { size: Size { width: Dimension::Percent(0.5), height: Dimension::Auto }, ..Default::default() },
8        &[],
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::undefined())?;
24
25    println!("node: {:#?}", taffy.layout(node)?);
26    println!("child: {:#?}", taffy.layout(child)?);
27
28    Ok(())
29}