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/canvaPrinter.ml | |
parent | 86ec559f913c389e8dc055b494630f21a45e039b (diff) |
Update project structure
Diffstat (limited to 'script.it/layer/canvaPrinter.ml')
-rwxr-xr-x | script.it/layer/canvaPrinter.ml | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/script.it/layer/canvaPrinter.ml b/script.it/layer/canvaPrinter.ml new file mode 100755 index 0000000..23cf842 --- /dev/null +++ b/script.it/layer/canvaPrinter.ml @@ -0,0 +1,42 @@ +module Path = Brr_canvas.C2d.Path +module V2 = Gg.V2 + +type t = Path.t + +let create + : unit -> t + = Path.create + +(* Start a new path. *) +let move_to + : Gg.v2 -> t -> t + = fun point path -> + let x, y = V2.to_tuple point in + Path.move_to ~x ~y path; + path + +let line_to + : Gg.v2 -> t -> t + = fun point path -> + let x, y = V2.to_tuple point in + Path.line_to ~x ~y path; + path + +let quadratic_to + : Gg.v2 -> Gg.v2 -> Gg.v2 -> t -> t + = fun ctrl0 ctrl1 p1 path -> + let cx, cy = V2.to_tuple ctrl0 + and cx', cy' = V2.to_tuple ctrl1 + and x, y = V2.to_tuple p1 in + Path.ccurve_to + ~cx ~cy + ~cx' ~cy' + ~x ~y + path; + path + +let close + : t -> t + = fun path -> + Path.close path; + path |