From a86ede2f3d29d6de6ef7c1eab577f00d4c583660 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Sun, 20 Dec 2020 11:57:14 +0100 Subject: Update --- layer/canvaPrinter.ml | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 layer/canvaPrinter.ml (limited to 'layer/canvaPrinter.ml') 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 -- cgit v1.2.3