diff options
Diffstat (limited to 'examples/14-struct-generic/src')
| -rw-r--r-- | examples/14-struct-generic/src/point.hob | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/14-struct-generic/src/point.hob b/examples/14-struct-generic/src/point.hob new file mode 100644 index 0000000..5beed86 --- /dev/null +++ b/examples/14-struct-generic/src/point.hob @@ -0,0 +1,33 @@ +/// A set of drawings. +struct OwnedLineDrawing[TPoint] { + field drawing: LineDrawing[TPoint]; + field owner: String; +} + +/// A 2D drawing made up of straight lines. +struct LineDrawing2D { + field lines: List[Line[Point2D]]; +} + +/// A drawing made up of straight lines. +struct LineDrawing[TPoint] { + field lines: List[Line[TPoint]]; +} + +/// A cubic Bezier curve. +struct BezierCurve[TPoint] { + field start: Line[TPoint]; + field end: Line[TPoint]; +} + +/// A straight line from one point to another. +struct Line[TPoint] { + field start: TPoint; + field end: TPoint; +} + +/// A 2D point. +struct Point2D { + field x: Int32; + field y: Int32; +} |
