cascada 0.3.0

A general purpose UI layout engine
Documentation
  • Coverage
  • 59.41%
    60 out of 101 items documented11 out of 53 items with examples
  • Size
  • Source code size: 254.59 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 11.88 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 15s Average build duration of successful builds.
  • all releases: 38s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • snubwoody/cascada
    9 0 8
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • snubwoody

Cascada

Cascada is a lightweight, high-performance UI layout engine.

API Docs | Architecture

Features

  • Microsecond layout performance
  • Declarative syntax
  • Predictable layouts
  • Descriptive error handling

Usage

Add this to your Cargo.toml.

[dependencies]
cascada = "0.2.0"

Example

use cascada::{solve_layout,HorizontalLayout,EmptyLayout,Size};

let child = EmptyLayout::new()
    .intrinsic_size(IntrinsicSize::fill());

// Add three equally sized child nodes.
let mut layout = HorizontalLayout::new()
    .intrinsic_size(IntrinsicSize::fill())
    .add_child(child.clone())
    .add_child(child.clone())
    .add_child(child);

solve_layout(&mut layout, Size::unit(3000.0));

let children = layout.children();

assert_eq!(children[0].size().width,1000.0);
assert_eq!(children[1].size().width,1000.0);
assert_eq!(children[2].size().width,1000.0);

License

Licensed under either of:

at your option.