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