Fix many inconsistencies between drawing and resizing.

This enables sharing code between the drawing logic and
the simple resizing. Allowing drawing in any direction,
not only from top-left to bottom-right.

Fixes issue #44.
This commit is contained in:
Andrey Antukh 2017-02-27 20:23:51 +01:00
parent b7253b7fd5
commit f82ddac72d
No known key found for this signature in database
GPG key ID: 4DFEBCB8316A8B95
16 changed files with 291 additions and 321 deletions

View file

@ -66,16 +66,29 @@
(-> (l/key :tooltip)
(l/derive workspace)))
(def selected-drawing-shape
(-> (l/key :drawing)
(l/derive workspace)))
(def selected-drawing-tool
(-> (l/key :drawing-tool)
(l/derive workspace)))
(def selected-edition
(-> (l/key :edition)
(l/derive workspace)))
(defn selected-modifiers
[id]
{:pre [(uuid? id)]}
(-> (l/in [:modifiers id])
(l/derive workspace)))
(defn alignment-activated?
[state]
(let [flags (l/focus ul/workspace-flags state)]
(and (contains? flags :grid-indexed)
(contains? flags :grid-alignment)
(contains? flags :grid))))
[flags]
(and (contains? flags :grid-indexed)
(contains? flags :grid-alignment)
(contains? flags :grid)))
(def selected-alignment
(-> (l/lens alignment-activated?)