pub struct ImageRenderer<R: Borrow<ImageImageRegistry>> { /* private fields */ }Implementations§
Source§impl<R: Borrow<ImageImageRegistry>> ImageRenderer<R>
impl<R: Borrow<ImageImageRegistry>> ImageRenderer<R>
Sourcepub fn new(
width: u32,
height: u32,
scale: f64,
scaling_target: DVec2,
supersampling: u32,
font: FontArc,
image_registry: R,
) -> Self
pub fn new( width: u32, height: u32, scale: f64, scaling_target: DVec2, supersampling: u32, font: FontArc, image_registry: R, ) -> Self
Examples found in repository?
examples/lines.rs (lines 10-18)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 128,
12 128,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_line(
21 dvec2(0.0, 0.0),
22 dvec2(128.0, 128.0),
23 2.0,
24 Srgba::new(1.0, 0.0, 0.0, 1.0),
25 );
26
27 image_renderer
28 .render_image_onto(image_renderer.black())
29 .save("lines.png")
30 .unwrap();
31}More examples
examples/pixels.rs (lines 10-18)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 7,
12 7,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_point(dvec2(1.0, 1.0), Srgba::new(1.0, 0.0, 0.0, 1.0));
21
22 image_renderer.render_point(dvec2(3.0, 3.0), Srgba::new(0.0, 1.0, 0.0, 1.0));
23
24 image_renderer.render_point(dvec2(5.0, 5.0), Srgba::new(0.0, 0.0, 1.0, 1.0));
25
26 image_renderer
27 .render_image_onto(image_renderer.black())
28 .save("pixels.png")
29 .unwrap();
30}examples/triangles.rs (lines 12-20)
11fn main() {
12 let mut image_renderer = ImageRenderer::new(
13 64,
14 64,
15 1.0,
16 DVec2::ZERO,
17 4,
18 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
19 ImageImageRegistry::default(),
20 );
21
22 image_renderer.render_equilateral_triangle(
23 DVec2::splat(16.0),
24 16.0,
25 0.0,
26 Srgba::new(1.0, 1.0, 1.0, 1.0),
27 );
28
29 image_renderer.render_equilateral_triangle(
30 DVec2::splat(16.0),
31 16.0,
32 PI,
33 Srgba::new(1.0, 0.0, 0.0, 1.0),
34 );
35
36 image_renderer.render_equilateral_triangle_lines(
37 DVec2::splat(48.0),
38 16.0,
39 0.0,
40 2.0,
41 Srgba::new(0.0, 0.0, 1.0, 1.0),
42 );
43
44 image_renderer.render_equilateral_triangle_lines(
45 DVec2::splat(48.0),
46 16.0,
47 PI,
48 2.0,
49 Srgba::new(0.0, 1.0, 0.0, 1.0),
50 );
51
52 image_renderer
53 .render_image_onto(image_renderer.black())
54 .save("triangles.png")
55 .unwrap();
56}examples/text.rs (lines 10-18)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 128,
12 128,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_text(
21 "Top Left",
22 dvec2(0.0, 0.0),
23 anchor2d::LGT,
24 24.0,
25 Srgba::new(1.0, 1.0, 1.0, 1.0),
26 );
27
28 image_renderer.render_text_outline(
29 "Center",
30 dvec2(64.0, 64.0),
31 anchor2d::CGC,
32 24.0,
33 1.0,
34 Srgba::new(1.0, 1.0, 1.0, 1.0),
35 Srgba::new(1.0, 0.0, 0.0, 1.0),
36 );
37
38 image_renderer.render_text(
39 "Bottom Right",
40 dvec2(128.0, 128.0),
41 anchor2d::RGB,
42 24.0,
43 Srgba::new(1.0, 1.0, 1.0, 1.0),
44 );
45
46 image_renderer.render_text(
47 "Multiple\nLines",
48 dvec2(32.0, 32.0),
49 anchor2d::CGC,
50 24.0,
51 Srgba::new(1.0, 0.0, 0.0, 1.0),
52 );
53
54 image_renderer
55 .render_image_onto(image_renderer.black())
56 .save("text.png")
57 .unwrap();
58}examples/circles.rs (lines 12-20)
11fn main() {
12 let mut image_renderer = ImageRenderer::new(
13 64,
14 64,
15 0.8,
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_circle(DVec2::splat(16.0), 16.0, Srgba::new(1.0, 1.0, 1.0, 1.0));
23
24 image_renderer.render_circle_lines(
25 DVec2::splat(48.0),
26 16.0,
27 2.0,
28 Srgba::new(0.0, 0.0, 1.0, 1.0),
29 );
30
31 image_renderer.render_arc(
32 DVec2::splat(32.0),
33 16.0,
34 0.0,
35 64,
36 PI,
37 Srgba::new(1.0, 0.0, 0.0, 1.0),
38 );
39
40 image_renderer.render_arc_lines(
41 DVec2::splat(32.0),
42 16.0,
43 PI,
44 64,
45 PI,
46 2.0,
47 Srgba::new(0.0, 1.0, 0.0, 1.0),
48 );
49
50 image_renderer.render_arc_lines(
51 DVec2::splat(32.0),
52 23.0 * 0.6,
53 0.75 * TAU,
54 64,
55 0.0,
56 23.0 * 0.2,
57 Srgba::new(0.0, 1.0, 1.0, 1.0),
58 );
59
60 image_renderer
61 .render_image_onto(image_renderer.black())
62 .save("circles.png")
63 .unwrap();
64}examples/rectangles.rs (lines 12-20)
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}Additional examples can be found in:
pub fn get_font(&self) -> &FontArc
pub fn set_font(&mut self, font: FontArc)
pub fn get_image_registry(&self) -> &R
pub fn set_image_registry(&mut self, image_registry: R)
pub fn reset(&mut self)
pub fn get_image(&self) -> &RgbaImage
Sourcepub fn render_image_onto(&self, image: RgbaImage) -> RgbaImage
pub fn render_image_onto(&self, image: RgbaImage) -> RgbaImage
Examples found in repository?
examples/lines.rs (line 28)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 128,
12 128,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_line(
21 dvec2(0.0, 0.0),
22 dvec2(128.0, 128.0),
23 2.0,
24 Srgba::new(1.0, 0.0, 0.0, 1.0),
25 );
26
27 image_renderer
28 .render_image_onto(image_renderer.black())
29 .save("lines.png")
30 .unwrap();
31}More examples
examples/pixels.rs (line 27)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 7,
12 7,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_point(dvec2(1.0, 1.0), Srgba::new(1.0, 0.0, 0.0, 1.0));
21
22 image_renderer.render_point(dvec2(3.0, 3.0), Srgba::new(0.0, 1.0, 0.0, 1.0));
23
24 image_renderer.render_point(dvec2(5.0, 5.0), Srgba::new(0.0, 0.0, 1.0, 1.0));
25
26 image_renderer
27 .render_image_onto(image_renderer.black())
28 .save("pixels.png")
29 .unwrap();
30}examples/triangles.rs (line 53)
11fn main() {
12 let mut image_renderer = ImageRenderer::new(
13 64,
14 64,
15 1.0,
16 DVec2::ZERO,
17 4,
18 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
19 ImageImageRegistry::default(),
20 );
21
22 image_renderer.render_equilateral_triangle(
23 DVec2::splat(16.0),
24 16.0,
25 0.0,
26 Srgba::new(1.0, 1.0, 1.0, 1.0),
27 );
28
29 image_renderer.render_equilateral_triangle(
30 DVec2::splat(16.0),
31 16.0,
32 PI,
33 Srgba::new(1.0, 0.0, 0.0, 1.0),
34 );
35
36 image_renderer.render_equilateral_triangle_lines(
37 DVec2::splat(48.0),
38 16.0,
39 0.0,
40 2.0,
41 Srgba::new(0.0, 0.0, 1.0, 1.0),
42 );
43
44 image_renderer.render_equilateral_triangle_lines(
45 DVec2::splat(48.0),
46 16.0,
47 PI,
48 2.0,
49 Srgba::new(0.0, 1.0, 0.0, 1.0),
50 );
51
52 image_renderer
53 .render_image_onto(image_renderer.black())
54 .save("triangles.png")
55 .unwrap();
56}examples/text.rs (line 55)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 128,
12 128,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_text(
21 "Top Left",
22 dvec2(0.0, 0.0),
23 anchor2d::LGT,
24 24.0,
25 Srgba::new(1.0, 1.0, 1.0, 1.0),
26 );
27
28 image_renderer.render_text_outline(
29 "Center",
30 dvec2(64.0, 64.0),
31 anchor2d::CGC,
32 24.0,
33 1.0,
34 Srgba::new(1.0, 1.0, 1.0, 1.0),
35 Srgba::new(1.0, 0.0, 0.0, 1.0),
36 );
37
38 image_renderer.render_text(
39 "Bottom Right",
40 dvec2(128.0, 128.0),
41 anchor2d::RGB,
42 24.0,
43 Srgba::new(1.0, 1.0, 1.0, 1.0),
44 );
45
46 image_renderer.render_text(
47 "Multiple\nLines",
48 dvec2(32.0, 32.0),
49 anchor2d::CGC,
50 24.0,
51 Srgba::new(1.0, 0.0, 0.0, 1.0),
52 );
53
54 image_renderer
55 .render_image_onto(image_renderer.black())
56 .save("text.png")
57 .unwrap();
58}examples/circles.rs (line 61)
11fn main() {
12 let mut image_renderer = ImageRenderer::new(
13 64,
14 64,
15 0.8,
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_circle(DVec2::splat(16.0), 16.0, Srgba::new(1.0, 1.0, 1.0, 1.0));
23
24 image_renderer.render_circle_lines(
25 DVec2::splat(48.0),
26 16.0,
27 2.0,
28 Srgba::new(0.0, 0.0, 1.0, 1.0),
29 );
30
31 image_renderer.render_arc(
32 DVec2::splat(32.0),
33 16.0,
34 0.0,
35 64,
36 PI,
37 Srgba::new(1.0, 0.0, 0.0, 1.0),
38 );
39
40 image_renderer.render_arc_lines(
41 DVec2::splat(32.0),
42 16.0,
43 PI,
44 64,
45 PI,
46 2.0,
47 Srgba::new(0.0, 1.0, 0.0, 1.0),
48 );
49
50 image_renderer.render_arc_lines(
51 DVec2::splat(32.0),
52 23.0 * 0.6,
53 0.75 * TAU,
54 64,
55 0.0,
56 23.0 * 0.2,
57 Srgba::new(0.0, 1.0, 1.0, 1.0),
58 );
59
60 image_renderer
61 .render_image_onto(image_renderer.black())
62 .save("circles.png")
63 .unwrap();
64}examples/rectangles.rs (line 71)
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}Additional examples can be found in:
pub fn transparent(&self) -> RgbaImage
Sourcepub fn black(&self) -> RgbaImage
pub fn black(&self) -> RgbaImage
Examples found in repository?
examples/lines.rs (line 28)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 128,
12 128,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_line(
21 dvec2(0.0, 0.0),
22 dvec2(128.0, 128.0),
23 2.0,
24 Srgba::new(1.0, 0.0, 0.0, 1.0),
25 );
26
27 image_renderer
28 .render_image_onto(image_renderer.black())
29 .save("lines.png")
30 .unwrap();
31}More examples
examples/pixels.rs (line 27)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 7,
12 7,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_point(dvec2(1.0, 1.0), Srgba::new(1.0, 0.0, 0.0, 1.0));
21
22 image_renderer.render_point(dvec2(3.0, 3.0), Srgba::new(0.0, 1.0, 0.0, 1.0));
23
24 image_renderer.render_point(dvec2(5.0, 5.0), Srgba::new(0.0, 0.0, 1.0, 1.0));
25
26 image_renderer
27 .render_image_onto(image_renderer.black())
28 .save("pixels.png")
29 .unwrap();
30}examples/triangles.rs (line 53)
11fn main() {
12 let mut image_renderer = ImageRenderer::new(
13 64,
14 64,
15 1.0,
16 DVec2::ZERO,
17 4,
18 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
19 ImageImageRegistry::default(),
20 );
21
22 image_renderer.render_equilateral_triangle(
23 DVec2::splat(16.0),
24 16.0,
25 0.0,
26 Srgba::new(1.0, 1.0, 1.0, 1.0),
27 );
28
29 image_renderer.render_equilateral_triangle(
30 DVec2::splat(16.0),
31 16.0,
32 PI,
33 Srgba::new(1.0, 0.0, 0.0, 1.0),
34 );
35
36 image_renderer.render_equilateral_triangle_lines(
37 DVec2::splat(48.0),
38 16.0,
39 0.0,
40 2.0,
41 Srgba::new(0.0, 0.0, 1.0, 1.0),
42 );
43
44 image_renderer.render_equilateral_triangle_lines(
45 DVec2::splat(48.0),
46 16.0,
47 PI,
48 2.0,
49 Srgba::new(0.0, 1.0, 0.0, 1.0),
50 );
51
52 image_renderer
53 .render_image_onto(image_renderer.black())
54 .save("triangles.png")
55 .unwrap();
56}examples/text.rs (line 55)
9fn main() {
10 let mut image_renderer = ImageRenderer::new(
11 128,
12 128,
13 1.0,
14 DVec2::ZERO,
15 4,
16 FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17 ImageImageRegistry::default(),
18 );
19
20 image_renderer.render_text(
21 "Top Left",
22 dvec2(0.0, 0.0),
23 anchor2d::LGT,
24 24.0,
25 Srgba::new(1.0, 1.0, 1.0, 1.0),
26 );
27
28 image_renderer.render_text_outline(
29 "Center",
30 dvec2(64.0, 64.0),
31 anchor2d::CGC,
32 24.0,
33 1.0,
34 Srgba::new(1.0, 1.0, 1.0, 1.0),
35 Srgba::new(1.0, 0.0, 0.0, 1.0),
36 );
37
38 image_renderer.render_text(
39 "Bottom Right",
40 dvec2(128.0, 128.0),
41 anchor2d::RGB,
42 24.0,
43 Srgba::new(1.0, 1.0, 1.0, 1.0),
44 );
45
46 image_renderer.render_text(
47 "Multiple\nLines",
48 dvec2(32.0, 32.0),
49 anchor2d::CGC,
50 24.0,
51 Srgba::new(1.0, 0.0, 0.0, 1.0),
52 );
53
54 image_renderer
55 .render_image_onto(image_renderer.black())
56 .save("text.png")
57 .unwrap();
58}examples/circles.rs (line 61)
11fn main() {
12 let mut image_renderer = ImageRenderer::new(
13 64,
14 64,
15 0.8,
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_circle(DVec2::splat(16.0), 16.0, Srgba::new(1.0, 1.0, 1.0, 1.0));
23
24 image_renderer.render_circle_lines(
25 DVec2::splat(48.0),
26 16.0,
27 2.0,
28 Srgba::new(0.0, 0.0, 1.0, 1.0),
29 );
30
31 image_renderer.render_arc(
32 DVec2::splat(32.0),
33 16.0,
34 0.0,
35 64,
36 PI,
37 Srgba::new(1.0, 0.0, 0.0, 1.0),
38 );
39
40 image_renderer.render_arc_lines(
41 DVec2::splat(32.0),
42 16.0,
43 PI,
44 64,
45 PI,
46 2.0,
47 Srgba::new(0.0, 1.0, 0.0, 1.0),
48 );
49
50 image_renderer.render_arc_lines(
51 DVec2::splat(32.0),
52 23.0 * 0.6,
53 0.75 * TAU,
54 64,
55 0.0,
56 23.0 * 0.2,
57 Srgba::new(0.0, 1.0, 1.0, 1.0),
58 );
59
60 image_renderer
61 .render_image_onto(image_renderer.black())
62 .save("circles.png")
63 .unwrap();
64}examples/rectangles.rs (line 71)
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}Additional examples can be found in:
Trait Implementations§
Source§impl<R: Clone + Borrow<ImageImageRegistry>> Clone for ImageRenderer<R>
impl<R: Clone + Borrow<ImageImageRegistry>> Clone for ImageRenderer<R>
Source§fn clone(&self) -> ImageRenderer<R>
fn clone(&self) -> ImageRenderer<R>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<R: Borrow<ImageImageRegistry>> Renderer for ImageRenderer<R>
impl<R: Borrow<ImageImageRegistry>> Renderer for ImageRenderer<R>
fn width(&self) -> f64
fn height(&self) -> f64
fn render_point(&mut self, position: DVec2, color: Srgba)
fn render_line( &mut self, start: DVec2, end: DVec2, thickness: f64, color: Srgba, )
fn render_circle(&mut self, position: DVec2, radius: f64, color: Srgba)
fn render_circle_lines( &mut self, position: DVec2, radius: f64, thickness: f64, color: Srgba, )
fn render_arc( &mut self, position: DVec2, radius: f64, rotation: f64, sides: u8, arc: f64, color: Srgba, )
fn render_arc_lines( &mut self, position: DVec2, radius: f64, rotation: f64, sides: u8, arc: f64, thickness: f64, color: Srgba, )
fn render_text( &mut self, text: &str, position: DVec2, anchor: Anchor2D, size: f64, color: Srgba, )
fn render_text_outline( &mut self, text: &str, position: DVec2, anchor: Anchor2D, size: f64, outline_thickness: f64, color: Srgba, outline_color: Srgba, )
fn render_rectangle( &mut self, position: DVec2, width: f64, height: f64, offset: DVec2, rotation: f64, color: Srgba, )
fn render_rectangle_lines( &mut self, position: DVec2, width: f64, height: f64, offset: DVec2, rotation: f64, thickness: f64, color: Srgba, )
fn render_equilateral_triangle( &mut self, position: DVec2, radius: f64, rotation: f64, color: Srgba, )
fn render_equilateral_triangle_lines( &mut self, position: DVec2, radius: f64, rotation: f64, thickness: f64, color: Srgba, )
fn render_image( &mut self, image_name: &str, position: DVec2, width: f64, height: f64, offset: DVec2, rotation: f64, )
Auto Trait Implementations§
impl<R> !RefUnwindSafe for ImageRenderer<R>
impl<R> !UnwindSafe for ImageRenderer<R>
impl<R> Freeze for ImageRenderer<R>where
R: Freeze,
impl<R> Send for ImageRenderer<R>where
R: Send,
impl<R> Sync for ImageRenderer<R>where
R: Sync,
impl<R> Unpin for ImageRenderer<R>where
R: Unpin,
impl<R> UnsafeUnpin for ImageRenderer<R>where
R: UnsafeUnpin,
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Convert the source color to the destination color using the specified
method.
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Convert the source color to the destination color using the bradford
method by default.
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Cast a collection of colors into a collection of arrays.
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Cast this collection of arrays into a collection of colors.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Cast a collection of colors into a collection of color components.
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
Performs a conversion from
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
Converts
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
Performs a conversion into
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Convert into T with values clamped to the color defined bounds Read more
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Convert into T. The resulting color might be invalid in its color space Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
Converts
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
The error for when
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Try to cast this collection of color components into a collection of
colors. Read more
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
Convert into T, returning ok if the color is inside of its defined
range, otherwise an
OutOfBounds error is returned which contains
the unclamped color. Read more