0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-02 20:39:09 -05:00

🐛 Fixes issue with lock proportions

This commit is contained in:
alonso.torres 2021-02-03 18:39:57 +01:00 committed by Hirunatan
parent 69b4968578
commit 0ea8e9e750

View file

@ -95,7 +95,14 @@
;; Resize vector ;; Resize vector
scalev (gpt/divide (gpt/add shapev deltav) shapev) scalev (gpt/divide (gpt/add shapev deltav) shapev)
scalev (if lock? (let [v (max (:x scalev) (:y scalev))] (gpt/point v v)) scalev) scalev (if lock?
(let [v (cond
(#{:right :left} handler) (:x scalev)
(#{:top :bottom} handler) (:y scalev)
:else (max (:x scalev) (:y scalev)))]
(gpt/point v v))
scalev)
shape-transform (:transform shape (gmt/matrix)) shape-transform (:transform shape (gmt/matrix))
shape-transform-inverse (:transform-inverse shape (gmt/matrix)) shape-transform-inverse (:transform-inverse shape (gmt/matrix))
@ -294,6 +301,8 @@
snap-delta (->> position snap-delta (->> position
(rx/switch-map #(snap/closest-snap-move page-id shapes objects layout zoom %)))] (rx/switch-map #(snap/closest-snap-move page-id shapes objects layout zoom %)))]
(if (empty? shapes)
(rx/empty)
(rx/concat (rx/concat
(->> snap-delta (->> snap-delta
(rx/with-latest vector position) (rx/with-latest vector position)
@ -305,7 +314,7 @@
(apply-modifiers ids) (apply-modifiers ids)
(calculate-frame-for-move ids) (calculate-frame-for-move ids)
(fn [state] (update state :workspace-local dissoc :modifiers)) (fn [state] (update state :workspace-local dissoc :modifiers))
finish-transform))))))) finish-transform))))))))
(defn- get-displacement-with-grid (defn- get-displacement-with-grid
"Retrieve the correct displacement delta point for the "Retrieve the correct displacement delta point for the