basic_rectangle/
basic_rectangle.rs

1use clay_layout::{
2    elements::{rectangle::Rectangle, CornerRadius},
3    fixed,
4    id::Id,
5    layout::Layout,
6    Clay,
7};
8
9fn main() {
10    // Create the clay instance
11    let clay = Clay::new((800., 600.).into());
12
13    // Begin the layout
14    clay.begin();
15
16    // Adds a red rectangle with a corner radius of 5.
17    // The Layout makes the rectangle have a width and height of 50.
18    clay.with(
19        [
20            Id::new("red_rectangle"),
21            Layout::new().width(fixed!(50.)).height(fixed!(50.)).end(),
22            Rectangle::new()
23                .color((0xFF, 0x00, 0x00).into())
24                .corner_radius(CornerRadius::All(5.))
25                .end(),
26        ],
27        |_| {},
28    );
29
30    // Return the list of render commands of your layout
31    let render_commands = clay.end();
32
33    for command in render_commands {
34        println!("Id of the element: {}", command.id); // Note: Ids are in fact numbers generated by Clay
35        println!("Bounding box: {:?}", command.bounding_box);
36        println!("Type and config: {:?}", command.config);
37    }
38}