1use std::f64::consts::{PI, 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 0.8,
13 DVec2::splat(0.5),
14 1,
15 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
16 );
17
18 image_renderer.render_circle(DVec2::splat(16.0), 16.0, Srgba::new(1.0, 1.0, 1.0, 1.0));
19
20 image_renderer.render_circle_lines(
21 DVec2::splat(48.0),
22 16.0,
23 2.0,
24 Srgba::new(0.0, 0.0, 1.0, 1.0),
25 );
26
27 image_renderer.render_arc(
28 DVec2::splat(32.0),
29 16.0,
30 0.0,
31 64,
32 PI,
33 Srgba::new(1.0, 0.0, 0.0, 1.0),
34 );
35
36 image_renderer.render_arc_lines(
37 DVec2::splat(32.0),
38 16.0,
39 PI,
40 64,
41 PI,
42 2.0,
43 Srgba::new(0.0, 1.0, 0.0, 1.0),
44 );
45
46 image_renderer.render_arc_lines(
47 DVec2::splat(32.0),
48 23.0 * 0.6,
49 0.75 * TAU,
50 64,
51 0.0,
52 23.0 * 0.2,
53 Srgba::new(0.0, 1.0, 1.0, 1.0),
54 );
55
56 image_renderer
57 .render_image_onto(image_renderer.black())
58 .save("circles.png")
59 .unwrap();
60}