summaryrefslogtreecommitdiff
path: root/examples/03-struct-generic/output/rust/src/point.rs
blob: ae6a1ee0f87512e9cd2e601702d8aff3c9dd0e62 (plain)
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
// Generated by hobgoblin.

/// A set of drawings.
#[derive(Clone, Debug, Hash, PartialEq)]
pub struct OwnedLineDrawing<TPoint> {
    pub drawing: crate::point::LineDrawing::<TPoint>,
    pub owner: ::std::string::String,
}

/// A 2D drawing made up of straight lines.
#[derive(Clone, Debug, Hash, PartialEq)]
pub struct LineDrawing2D {
    pub lines: ::std::vec::Vec::<crate::point::Line::<crate::point::Point2D>>,
}

/// A drawing made up of straight lines.
#[derive(Clone, Debug, Hash, PartialEq)]
pub struct LineDrawing<TPoint> {
    pub lines: ::std::vec::Vec::<crate::point::Line::<TPoint>>,
}

/// A cubic Bezier curve.
#[derive(Clone, Debug, Hash, PartialEq)]
pub struct BezierCurve<TPoint> {
    pub start: crate::point::Line::<TPoint>,
    pub end: crate::point::Line::<TPoint>,
}

/// A straight line from one point to another.
#[derive(Clone, Debug, Hash, PartialEq)]
pub struct Line<TPoint> {
    pub start: TPoint,
    pub end: TPoint,
}

/// A 2D point.
#[derive(Clone, Debug, Hash, PartialEq)]
pub struct Point2D {
    pub x: ::core::primitive::i32,
    pub y: ::core::primitive::i32,
}