diff options
author | Sébastien Dailly <sebastien@chimrod.com> | 2020-12-20 11:57:14 +0100 |
---|---|---|
committer | Sébastien Dailly <sebastien@chimrod.com> | 2020-12-20 11:57:14 +0100 |
commit | a86ede2f3d29d6de6ef7c1eab577f00d4c583660 (patch) | |
tree | 7cd3a5185d8ebf995f75238fce6904b71c62596e /layer/canvaPrinter.ml | |
parent | 986a36b3728eba40789d6063997dafda67b519ec (diff) |
Update
Diffstat (limited to 'layer/canvaPrinter.ml')
-rwxr-xr-x | layer/canvaPrinter.ml | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/layer/canvaPrinter.ml b/layer/canvaPrinter.ml new file mode 100755 index 0000000..e696d10 --- /dev/null +++ b/layer/canvaPrinter.ml @@ -0,0 +1,42 @@ +module Path = Brr_canvas.C2d.Path +module V2 = Gg.V2 + +type 'a t = Path.t + +let create + : unit -> 'a t + = Path.create + +(* Start a new path. *) +let move_to + : Gg.v2 -> 'a t -> 'a t + = fun point path -> + let x, y = V2.to_tuple point in + Path.move_to ~x ~y path; + path + +let line_to + : Gg.v2 -> 'a t -> 'a 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 -> 'a t -> 'a 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 + : 'a t -> 'a t + = fun path -> + Path.close path; + path |