1use std::f64::consts::{PI, TAU};
2
3use ab_glyph::FontArc;
4use glam::{dvec2, 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 2.0,
13 DVec2::splat(0.5),
14 1,
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(
28 dvec2(32.0, 32.0),
29 16.0,
30 16.0,
31 DVec2::splat(0.5),
32 -PI / 2.0,
33 Srgba::new(1.0, 0.0, 1.0, 1.0),
34 );
35
36 image_renderer.render_rectangle_lines(
37 DVec2::splat(40.0),
38 8.0,
39 16.0,
40 DVec2::splat(0.5),
41 0.0,
42 1.0,
43 Srgba::new(0.0, 0.0, 1.0, 1.0),
44 );
45
46 image_renderer.render_rectangle_lines(
47 DVec2::splat(40.0),
48 16.0,
49 16.0,
50 DVec2::splat(0.0),
51 0.0,
52 1.0,
53 Srgba::new(1.0, 0.0, 0.0, 1.0),
54 );
55
56 image_renderer.render_rectangle_lines(
57 DVec2::splat(40.0),
58 8.0,
59 16.0,
60 DVec2::splat(0.5),
61 TAU / 8.0,
62 1.0,
63 Srgba::new(0.0, 1.0, 0.0, 1.0),
64 );
65
66 image_renderer
67 .render_image_onto(image_renderer.black())
68 .save("rectangles.png")
69 .unwrap();
70}