1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
pub mod arrow;
pub mod ellipse;
pub mod line;
pub mod mesh;
pub mod path;
pub mod polygon;
pub mod quad;
pub mod rect;
pub mod text;
pub mod texture;
pub mod tri;
use crate::geom;
pub use self::arrow::Arrow;
pub use self::ellipse::Ellipse;
pub use self::line::Line;
pub use self::mesh::Mesh;
pub use self::path::{Path, PathFill, PathInit, PathStroke};
pub use self::polygon::{Polygon, PolygonInit};
pub use self::quad::Quad;
pub use self::rect::Rect;
pub use self::text::Text;
pub use self::texture::Texture;
pub use self::tri::Tri;
#[derive(Clone, Debug)]
pub enum Primitive<S = geom::scalar::Default> {
Arrow(Arrow<S>),
Ellipse(Ellipse<S>),
Line(Line<S>),
MeshVertexless(mesh::Vertexless),
Mesh(Mesh<S>),
PathInit(PathInit<S>),
PathFill(PathFill<S>),
PathStroke(PathStroke<S>),
Path(Path<S>),
PolygonInit(PolygonInit<S>),
Polygon(Polygon<S>),
Quad(Quad<S>),
Rect(Rect<S>),
Text(Text<S>),
Texture(Texture<S>),
Tri(Tri<S>),
}