mirror of
https://github.com/penpot/penpot.git
synced 2026-09-06 12:09:24 +00:00
✨ Maintain proportions when control key is pressed
This commit is contained in:
parent
9f351ef155
commit
285be7f5ff
@ -84,6 +84,8 @@
|
|||||||
;; 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)
|
||||||
|
|
||||||
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))
|
||||||
|
|
||||||
|
|||||||
@ -120,7 +120,8 @@
|
|||||||
(let [shape' (geom/shape->rect-shape shape)
|
(let [shape' (geom/shape->rect-shape shape)
|
||||||
shapev (gpt/point (:width shape') (:height shape'))
|
shapev (gpt/point (:width shape') (:height shape'))
|
||||||
deltav (gpt/subtract point initial)
|
deltav (gpt/subtract point initial)
|
||||||
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)]
|
||||||
|
|
||||||
(-> shape
|
(-> shape
|
||||||
(assoc-in [:modifiers :resize-vector] scalev)
|
(assoc-in [:modifiers :resize-vector] scalev)
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
(ns uxbox.util.debug
|
(ns uxbox.util.debug
|
||||||
"Debugging utils")
|
"Debugging utils"
|
||||||
|
(:require
|
||||||
|
[uxbox.main.store :as store]))
|
||||||
|
|
||||||
(def debug-options #{:bounding-boxes :group :events #_:simple-selection})
|
(def debug-options #{:bounding-boxes :group :events #_:simple-selection})
|
||||||
|
|
||||||
@ -30,8 +32,8 @@
|
|||||||
val))
|
val))
|
||||||
|
|
||||||
(defn dump-state []
|
(defn dump-state []
|
||||||
(logjs "state" @uxbox.main.store/state))
|
(logjs "state" @store/state))
|
||||||
|
|
||||||
(defn dump-objects []
|
(defn dump-objects []
|
||||||
(let [page-id (get @uxbox.main.store/state :page-id)]
|
(let [page-id (get @store/state :page-id)]
|
||||||
(logjs "state" (get-in @uxbox.main.store/state [:workspace-data page-id :objects]))))
|
(logjs "state" (get-in @store/state [:workspace-data page-id :objects]))))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user