0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-04-16 08:51:32 -05:00

Add ctrl variation of the ruler.

This commit is contained in:
Andrey Antukh 2016-01-30 20:32:16 +02:00
parent e84246aecd
commit bafc486401

View file

@ -64,12 +64,21 @@
(defn- overlay-will-mount
[own local]
(letfn [(on-value [pos]
(swap! local assoc :pos2 pos))]
(letfn [(on-value [[[x y :as pos] ctrl?]]
(if ctrl?
(let [[sx sy] (:pos1 @local)
dx (- x sx)
dy (- y sy)]
(cond
(> dx dy) (swap! local assoc :pos2 [x sy])
(> dy dx) (swap! local assoc :pos2 [sx y])
:else (swap! local assoc :pos2 pos)))
(swap! local assoc :pos2 pos)))]
(as-> wb/mouse-absolute-s $
(rx/dedupe $)
(rx/filter #(:active @local) $)
(rx/map #(resolve-position own %) $)
(rx/with-latest-from vector wb/mouse-ctrl-s $)
(rx/on-value $ on-value)
(assoc own ::sub $))))