blob: 552e2b76ff0b8001087c04913bee8d6bbc00abbf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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
|