diff options
author | Sébastien Dailly <sebastien@chimrod.com> | 2021-02-05 09:08:39 +0100 |
---|---|---|
committer | Sébastien Dailly <sebastien@dailly.me> | 2022-02-07 14:39:30 +0100 |
commit | 561d0f0155f4906d90eb7e73a3ff9cb28909126f (patch) | |
tree | 9a606c2d7832272ea33d7052512a5fa59805d582 /script.it/layer/repr.ml | |
parent | 86ec559f913c389e8dc055b494630f21a45e039b (diff) |
Update project structure
Diffstat (limited to 'script.it/layer/repr.ml')
-rwxr-xr-x | script.it/layer/repr.ml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/script.it/layer/repr.ml b/script.it/layer/repr.ml new file mode 100755 index 0000000..552e2b7 --- /dev/null +++ b/script.it/layer/repr.ml @@ -0,0 +1,49 @@ +module type PRINTER = sig + + type t + + val create: unit -> t + + (* Start a new path. *) + val move_to: Gg.v2 -> t -> t + + val line_to: Gg.v2 -> t -> t + + (** [quadratic_to ctrl0 ctrl1 p1] create a quadratic curve from the current + point to [p1], with control points [ctrl0] and [ctrl1] *) + val quadratic_to: Gg.v2 -> Gg.v2 -> Gg.v2 -> t -> t + + (** Request for the path to be closed *) + val close: t -> t + +end + +module type ENGINE = sig + type t + + type point = Path.Point.t + + type repr + + val get + : t -> repr + + val create_path + : (repr -> repr) -> t + + val start + : point -> point -> t -> t + + val line_to + : (point * point) -> (point * point) -> t -> t + + val quadratic_to + : (point * Gg.v2 * Gg.v2 * point) + -> (point * Gg.v2 * Gg.v2 * point) + -> t + -> t + + val stop + : t -> t + +end |