aboutsummaryrefslogtreecommitdiff
path: root/script.it/layer/repr.ml
diff options
context:
space:
mode:
Diffstat (limited to 'script.it/layer/repr.ml')
-rwxr-xr-xscript.it/layer/repr.ml49
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