aboutsummaryrefslogtreecommitdiff
path: root/script.it/selection.ml
diff options
context:
space:
mode:
Diffstat (limited to 'script.it/selection.ml')
-rwxr-xr-xscript.it/selection.ml15
1 files changed, 12 insertions, 3 deletions
diff --git a/script.it/selection.ml b/script.it/selection.ml
index d00f026..f5f135a 100755
--- a/script.it/selection.ml
+++ b/script.it/selection.ml
@@ -1,8 +1,17 @@
open StdLabels
-type t =
- | Path of int
- | Point of (int * Path.Point.t)
+type 'a selection =
+ | Path of 'a
+ | Point of ('a * Path.Point.t)
+
+type t = int selection
+
+let find_selection
+ : int selection -> Outline.t list -> Outline.t selection option
+ = fun selection paths ->
+ match selection with
+ | Path id -> Option.map (fun p -> Path p) (Outline.find paths id)
+ | Point (id, pt) -> Option.map (fun p -> Point (p, pt)) (Outline.find paths id)
let threshold = 20.