From 05008c81a9652472a454f47940a6d8aa9a228538 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Mon, 24 May 2021 22:19:43 +0200 Subject: Update --- script.it/script.ml | 79 ++++------------------------------------------------- 1 file changed, 5 insertions(+), 74 deletions(-) (limited to 'script.it/script.ml') diff --git a/script.it/script.ml b/script.it/script.ml index bc79a22..200d118 100755 --- a/script.it/script.ml +++ b/script.it/script.ml @@ -6,73 +6,6 @@ open Brr_note module State = Script_state.State module Selection = Script_state.Selection -module Out = struct - type t = { point : float * float - ; timer : Elements.Timer.t - ; worker : Brr_webworkers.Worker.t - } - - let apply {point; timer ; worker} state = - match state.State.mode with - - | Edit -> - let stamp = Elements.Timer.delay timer in - Elements.Timer.stop timer; - begin match Path.Path_Builder.peek2 state.current with - (* If there is at last two points selected, handle this as a curve - creation. And we add the new point in the current path *) - | Some _ -> - - let current = State.insert_or_replace state point stamp state.current in - let path = Path.Fixed.to_fixed - (module Path.Path_Builder) - current in - - (* Create a copy from the path with all the interior points *) - let back = Path.Fixed.map - path - (fun pt -> Path.Point.copy pt @@ Path.Point.get_coord' pt) in - - let last = - Outline.{ path - ; back - ; id = Outline.get_id () - } - in - - (* Send to the worker for a full review *) - let () = State.post worker (`Complete last) in - - let state = - { state with - mode = Out - ; paths = last::state.paths - ; current = Path.Path_Builder.empty } in - state - - (* Else, check if there is a curve under the cursor, and remove it *) - | None -> - let current = Path.Path_Builder.empty in - begin match Selection.get_from_paths point state.paths with - | _, None -> - { state with - mode = Out - ; current - } - | dist, Some selection -> - State.select_segment point selection { state with current } dist - - end - end - - | mode when Elements.Timer.delay timer < 0.3 -> - State.click state mode - - | _ -> - State.longClick point state worker state.mode - -end - let post : Brr_webworkers.Worker.t -> Worker_messages.to_worker -> unit = Brr_webworkers.Worker.post @@ -466,13 +399,11 @@ let page_main id = `Generic ( State.E - ( Out.{ point = c - ; worker - ; timer - } - , (module Out: State.Handler with type t = Out.t) - - + ( Script_event.Out.{ point = c + ; worker + ; timer + } + , (module Script_event.Out: State.Handler with type t = Script_event.Out.t) ) ) -- cgit v1.2.3