summaryrefslogtreecommitdiff
path: root/path/builder.mli
diff options
context:
space:
mode:
Diffstat (limited to 'path/builder.mli')
-rwxr-xr-xpath/builder.mli31
1 files changed, 10 insertions, 21 deletions
diff --git a/path/builder.mli b/path/builder.mli
index f5adef1..42f433e 100755
--- a/path/builder.mli
+++ b/path/builder.mli
@@ -16,9 +16,6 @@ module type REPR = sig
type 'a repr
- val create_path
- : unit -> 'a repr
-
(* Start a new path. *)
val start
: t -> 'a repr -> 'a repr
@@ -35,23 +32,20 @@ end
module Make(P:P) : sig
- type bezier =
- { p0:P.t (* The starting point *)
- ; p1:P.t (* The end point *)
- ; ctrl0:Gg.v2 (* The control point *)
- ; ctrl1:Gg.v2 } (* The control point *)
-
+ type bezier
type t
+ type fixedPath
+
(** Create an empty path *)
val empty: t
val add_point
- : P.t -> t -> t
+ : P.t -> t -> t * fixedPath option
(** Replace the last alement in the path by the one given in parameter *)
val replace_last
- : P.t -> t -> t
+ : P.t -> t -> t * fixedPath option
(** Retrieve the last element, if any *)
val peek
@@ -61,26 +55,21 @@ module Make(P:P) : sig
val peek2
: t -> (P.t * P.t) option
- val get
- : t -> P.t list * bezier list
-
- val points_to_beziers
- : P.t list -> Shapes.Bezier.t array -> bezier array
-
module Draw(Repr:REPR with type t = P.t) : sig
(** Represent the the current path *)
val draw
- : t -> 'a Repr.repr
+ : t -> 'a Repr.repr -> 'a Repr.repr
end
- type fixedPath
-
val to_fixed : t -> fixedPath
module DrawFixed(Repr:REPR with type t = P.t) : sig
val draw
- : fixedPath -> 'a Repr.repr
+ : fixedPath -> 'a Repr.repr -> 'a Repr.repr
end
+ (** Return the shortest distance between the mouse and a point *)
+ val distance
+ : Gg.v2 -> fixedPath -> float option
end