0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-17 18:21:23 -05:00

🐛 Fix problem with snap to guides and zoom

This commit is contained in:
alonso.torres 2024-02-22 16:42:26 +01:00
parent d51338e754
commit fdf6f0dfef
2 changed files with 11 additions and 9 deletions

View file

@ -83,14 +83,15 @@
(defn get-snap-points [page-id frame-id remove-snap? zoom point coord]
(let [value (get point coord)
vbox @refs/vbox]
(->> (uw/ask! {:cmd :snaps/range-query
:page-id page-id
:frame-id frame-id
:axis coord
:bounds vbox
:ranges [[(- value (/ 0.5 zoom)) (+ value (/ 0.5 zoom))]]})
(rx/take 1)
(rx/map (remove-from-snap-points remove-snap?)))))
(let [ranges [[(- value (/ 0.5 zoom)) (+ value (/ 0.5 zoom))]]]
(->> (uw/ask! {:cmd :snaps/range-query
:page-id page-id
:frame-id frame-id
:axis coord
:bounds vbox
:ranges ranges})
(rx/take 1)
(rx/map (remove-from-snap-points remove-snap?))))))
(defn- search-snap
[page-id frame-id points coord remove-snap? zoom]

View file

@ -28,7 +28,8 @@
[{:keys [page-id frame-id axis ranges bounds] :as message}]
(let [match-bounds?
(fn [[_ data]]
(some #(grc/contains-point? bounds %) (map :pt data)))]
(some #(or (= :guide (:type %))
(grc/contains-point? bounds (:pt %))) data))]
(->> (into []
(comp (mapcat #(sd/query @state page-id frame-id axis %))
(distinct))