#layout-engine #tiny #yoga

bin+lib homo

布局引擎

1 个不稳定版本

0.0.1 2022年8月14日

#4 in #yoga

MIT 许可协议

18KB
478

soga

Yoga 的替代品

Build Status crates.io crates.io license

测试

cargo test

使用

use soga::flexbox::FlexBox;
use soga::flexbox::FlexItem;
use std::convert::TryInto;

fn main() {
    let mut root = FlexItem::new(100, 100);

    let child1 = FlexItem::new(100, 50);
    let child2 = FlexItem::new(100, 50);

    root.add(child1);
    root.add(child2);

    let mut flexbox = FlexBox::new();
    flexbox.layout(&mut root);

    assert_eq!(root.children[0].frame, [0, 0, 100, 50]);
    assert_eq!(root.children[1].frame, [50, 0, 100, 50]);
}

许可协议

MIT ©yisar 受 yoga 启发。

依赖项

~290–750KB
~18K SLoC