0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-09 08:38:15 -05:00

Improve proportions persistence handling on shapes.

This commit is contained in:
Andrey Antukh 2016-10-24 23:17:55 +02:00
parent 0a28efb838
commit 6ebeaf521a
No known key found for this signature in database
GPG key ID: 4DFEBCB8316A8B95
3 changed files with 8 additions and 22 deletions

View file

@ -241,20 +241,6 @@
(update-in state [:shapes-by-id sid] assoc (update-in state [:shapes-by-id sid] assoc
:proportion-lock false)))) :proportion-lock false))))
(defn setup-proportions
[sid]
{:pre [(uuid? sid)]}
(reify
udp/IPageUpdate
rs/UpdateEvent
(-apply-update [_ state]
(let [[width height] (-> (get-in state [:shapes-by-id sid])
(geom/size)
(keep [:width :height]))
proportion (/ width height)]
(update-in state [:shapes-by-id sid] assoc
:proportion proportion)))))
;; --- Group Collapsing ;; --- Group Collapsing
(defn collapse-shape (defn collapse-shape

View file

@ -284,27 +284,28 @@
(declare setup-proportions-rect) (declare setup-proportions-rect)
(declare setup-proportions-image) (declare setup-proportions-image)
;; FIXME: improve proportions setup for icons.
(defn setup-proportions (defn setup-proportions
[shape] [shape]
(case (:type shape) (case (:type shape)
:rect (setup-proportions-rect shape) :rect (setup-proportions-rect shape)
:icon (setup-proportions-rect shape)
:circle (setup-proportions-rect shape) :circle (setup-proportions-rect shape)
:icon (setup-proportions-image shape)
:image (setup-proportions-image shape) :image (setup-proportions-image shape)
shape)) :text shape))
(defn setup-proportions-image (defn setup-proportions-image
[{:keys [metadata] :as shape}] [{:keys [metadata] :as shape}]
(println "setup-proportions-image" shape)
(let [{:keys [width height]} metadata] (let [{:keys [width height]} metadata]
(assoc shape :proportion (/ width height)))) (assoc shape
:proportion (/ width height)
:proportion-lock true)))
(defn setup-proportions-rect (defn setup-proportions-rect
[shape] [shape]
(let [{:keys [width height]} (size shape)] (let [{:keys [width height]} (size shape)]
(assoc shape :proportion (/ width height)))) (assoc shape
:proportion (/ width height)
:proportion-lock true)))
;; --- Resize (Dimentsions) ;; --- Resize (Dimentsions)

View file

@ -49,7 +49,6 @@
(let [params {:vid vid :delta (assoc delta :lock ctrl?)}] (let [params {:vid vid :delta (assoc delta :lock ctrl?)}]
(rs/emit! (uds/update-vertex-position sid params)))) (rs/emit! (uds/update-vertex-position sid params))))
(on-end [] (on-end []
(rs/emit! (uds/setup-proportions sid))
(rlocks/release! :shape/resize))] (rlocks/release! :shape/resize))]
(let [stoper (->> wb/events-s (let [stoper (->> wb/events-s
(rx/map first) (rx/map first)