rectangles/
rectangles.rs

1use std::f64::consts::TAU;
2
3use ab_glyph::FontArc;
4use glam::DVec2;
5use palette::Srgba;
6use render_agnostic::{Renderer, renderers::image::ImageRenderer};
7
8fn main() {
9    let mut image_renderer = ImageRenderer::new(
10        64,
11        64,
12        1.0,
13        DVec2::ZERO,
14        4,
15        FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
16    );
17
18    image_renderer.render_rectangle(
19        DVec2::splat(8.0),
20        16.0,
21        16.0,
22        DVec2::splat(0.0),
23        0.0,
24        Srgba::new(1.0, 1.0, 1.0, 1.0),
25    );
26
27    image_renderer.render_rectangle_lines(
28        DVec2::splat(40.0),
29        8.0,
30        16.0,
31        DVec2::splat(0.5),
32        0.0,
33        1.0,
34        Srgba::new(0.0, 0.0, 1.0, 1.0),
35    );
36
37    image_renderer.render_rectangle_lines(
38        DVec2::splat(40.0),
39        16.0,
40        16.0,
41        DVec2::splat(0.0),
42        0.0,
43        1.0,
44        Srgba::new(1.0, 0.0, 0.0, 1.0),
45    );
46
47    image_renderer.render_rectangle_lines(
48        DVec2::splat(40.0),
49        8.0,
50        16.0,
51        DVec2::splat(0.5),
52        TAU / 8.0,
53        1.0,
54        Srgba::new(0.0, 1.0, 0.0, 1.0),
55    );
56
57    image_renderer
58        .render_image_onto(image_renderer.black())
59        .save("rectangles.png")
60        .unwrap();
61}