From aa416a782dd8cc6501d79a6d25d4a6512a4f280d Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 14 Mar 2022 10:21:05 +0100 Subject: [PATCH] :bug: Fix problem with handlers over rules --- .../src/app/main/ui/workspace/viewport.cljs | 44 ++++++++++++------- .../main/ui/workspace/viewport/guides.cljs | 2 +- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/viewport.cljs b/frontend/src/app/main/ui/workspace/viewport.cljs index 5b71a42f9..943f796c4 100644 --- a/frontend/src/app/main/ui/workspace/viewport.cljs +++ b/frontend/src/app/main/ui/workspace/viewport.cljs @@ -258,22 +258,6 @@ :on-move-selected on-move-selected :on-context-menu on-menu-selected}]) - (when show-rules? - [:& guides/viewport-guides - {:zoom zoom - :vbox vbox - :hover-frame frame-parent - :modifiers modifiers - :disabled-guides? disabled-guides?}]) - - (when show-selection-handlers? - [:& selection/selection-handlers - {:selected selected - :shapes selected-shapes - :zoom zoom - :edition edition - :disable-handlers (or drawing-tool edition @space?)}]) - (when show-measures? [:& msr/measurement {:bounds vbox @@ -381,4 +365,30 @@ [:& rules/rules {:zoom zoom :vbox vbox - :selected-shapes selected-shapes}])]]])) + :selected-shapes selected-shapes}]) + + (when show-rules? + [:& guides/viewport-guides + {:zoom zoom + :vbox vbox + :hover-frame frame-parent + :modifiers modifiers + :disabled-guides? disabled-guides?}]) + + (when show-selection-handlers? + [:g.selection-handlers {:clipPath "url(#clip-handlers)"} + [:defs + (let [rule-area-size (/ rules/rule-area-size zoom)] + ;; This clip is so the handlers are not over the rules + [:clipPath {:id "clip-handlers"} + [:rect {:x (+ (:x vbox) rule-area-size) + :y (+ (:y vbox) rule-area-size) + :width (- (:width vbox) (* rule-area-size 2)) + :height (- (:height vbox) (* rule-area-size 2))}]])] + + [:& selection/selection-handlers + {:selected selected + :shapes selected-shapes + :zoom zoom + :edition edition + :disable-handlers (or drawing-tool edition @space?)}]])]]])) diff --git a/frontend/src/app/main/ui/workspace/viewport/guides.cljs b/frontend/src/app/main/ui/workspace/viewport/guides.cljs index 7bfde052a..8b513b7e2 100644 --- a/frontend/src/app/main/ui/workspace/viewport/guides.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/guides.cljs @@ -232,7 +232,7 @@ :width (/ guide-creation-width zoom) :height (:height vbox)} - {:x (+ (:x vbox) (+ guide-creation-margin-top zoom)) + {:x (+ (:x vbox) (/ guide-creation-margin-top zoom)) :y (:y vbox) :width (:width vbox) :height (/ guide-creation-height zoom)}))