Skip to content

Commit 971342b

Browse files
committed
refactor
1 parent 9cb5059 commit 971342b

File tree

11 files changed

+57
-70
lines changed

11 files changed

+57
-70
lines changed

src/renderer/dialog/events.cljs

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
(rf/reg-event-fx
3232
::close
33-
(fn [{:keys [db]} [_ dispatch]]
33+
(fn [{:keys [db]} [_ event]]
3434
(cond-> {:db (update db :dialogs pop)}
35-
dispatch
36-
(assoc :dispatch dispatch))))
35+
event
36+
(assoc :dispatch event))))

src/renderer/element/impl/container/canvas.cljs

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
[renderer.tool.hierarchy :as tool.hierarchy]
1616
[renderer.tool.subs :as-alias tool.s]
1717
[renderer.utils.keyboard :as keyb]
18-
[renderer.utils.overlay :as overlay]
19-
[renderer.utils.pointer :as pointer]))
18+
[renderer.utils.pointer :as pointer]
19+
[renderer.utils.svg :as svg]))
2020

2121
(derive :canvas ::hierarchy/element)
2222

@@ -83,7 +83,7 @@
8383
(when snap?
8484
[:<>
8585
(when snapped-el
86-
[overlay/bounding-box (:bounds snapped-el) true])
86+
[svg/bounding-box (:bounds snapped-el) true])
8787
(when nearest-neighbor
8888
[snap.v/canvas-label nearest-neighbor])])
8989

src/renderer/element/impl/custom/blob.cljs

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
[renderer.ui :as ui]
1616
[renderer.utils.element :as element]
1717
[renderer.utils.length :as length]
18-
[renderer.utils.overlay :as overlay]
19-
[renderer.utils.pointer :as pointer]))
18+
[renderer.utils.pointer :as pointer]
19+
[renderer.utils.svg :as svg]))
2020

2121
(derive :blob ::hierarchy/renderable)
2222

@@ -158,7 +158,7 @@
158158
[x1 y1] (cond->> [x y] (not (element/svg? el)) (mat/add offset))
159159
[x2 y2] (mat/add [x1 y1] size)]
160160
[:<>
161-
[overlay/line [x1 y1] [x2 y2]]
161+
[svg/line [x1 y1] [x2 y2]]
162162
[tool.v/square-handle
163163
{:type :handle
164164
:cursor "move"
@@ -167,4 +167,4 @@
167167
:x x2
168168
:y y2
169169
:id :size}]
170-
[overlay/times [x1 y1]]]))
170+
[svg/times [x1 y1]]]))

src/renderer/element/impl/custom/measure.cljs

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[renderer.element.hierarchy :as hierarchy]
66
[renderer.utils.length :as length]
77
[renderer.utils.math :as math]
8-
[renderer.utils.overlay :as overlay]))
8+
[renderer.utils.svg :as svg]))
99

1010
(derive :measure ::hierarchy/element)
1111

@@ -19,19 +19,19 @@
1919
straight? (< angle 180)
2020
straight-angle (if straight? angle (- angle 360))]
2121
[:g {:key id}
22-
[overlay/cross [x1 y1]]
23-
[overlay/cross [x2 y2]]
22+
[svg/cross [x1 y1]]
23+
[svg/cross [x2 y2]]
2424

25-
[overlay/arc [x1 y1] 20 (if straight? 0 angle) (abs straight-angle)]
25+
[svg/arc [x1 y1] 20 (if straight? 0 angle) (abs straight-angle)]
2626

27-
[overlay/line [x1 y1] [x2 y2] false]
28-
[overlay/line [x1 y1] [(+ x1 (/ 30 zoom)) y1]]
27+
[svg/line [x1 y1] [x2 y2] false]
28+
[svg/line [x1 y1] [(+ x1 (/ 30 zoom)) y1]]
2929

30-
[overlay/label
30+
[svg/label
3131
(str (.toFixed straight-angle 2) "°")
3232
[(+ x1 (/ 40 zoom)) y1]
3333
"start"]
3434

35-
[overlay/label
35+
[svg/label
3636
(-> hypotenuse js/parseFloat (.toFixed 2) str)
3737
[(/ (+ x1 x2) 2) (/ (+ y1 y2) 2)]]]))

src/renderer/element/impl/shape/circle.cljs

+10-10
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[renderer.utils.bounds :as bounds]
1010
[renderer.utils.element :as element]
1111
[renderer.utils.length :as length]
12-
[renderer.utils.overlay :as overlay]))
12+
[renderer.utils.svg :as svg]))
1313

1414
(derive :circle ::hierarchy/shape)
1515

@@ -74,14 +74,14 @@
7474
[cx cy] (bounds/center bounds)
7575
r (/ (first (bounds/->dimensions bounds)) 2)]
7676
[:g
77-
[overlay/line [cx cy] [(+ cx r) cy]]
78-
[overlay/label (str (.toFixed r 2)) [(+ cx (/ r 2)) cy]]
79-
[overlay/times [cx cy]]
77+
[svg/line [cx cy] [(+ cx r) cy]]
78+
[svg/label (str (.toFixed r 2)) [(+ cx (/ r 2)) cy]]
79+
[svg/times [cx cy]]
8080
[tool.v/square-handle {:x (+ cx r)
81-
:y cy
82-
:id :r
83-
:type :handle
84-
:action :edit
85-
:cursor "move"
86-
:element (:id el)}
81+
:y cy
82+
:id :r
83+
:type :handle
84+
:action :edit
85+
:cursor "move"
86+
:element (:id el)}
8787
[:title {:key "r-title"} "r"]]]))

src/renderer/element/impl/shape/ellipse.cljs

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[renderer.utils.bounds :as bounds]
1010
[renderer.utils.element :as element]
1111
[renderer.utils.length :as length]
12-
[renderer.utils.overlay :as overlay]))
12+
[renderer.utils.svg :as svg]))
1313

1414
(derive :ellipse ::hierarchy/shape)
1515

@@ -67,11 +67,11 @@
6767
[cx cy] (bounds/center bounds)
6868
[rx ry] (mat/div (bounds/->dimensions bounds) 2)]
6969
[:g ::edit-handles
70-
[overlay/times [cx cy]]
71-
[overlay/line [cx cy] [(+ cx rx) cy]]
72-
[overlay/label (str (.toFixed rx 2)) [(+ cx (/ rx 2)) cy]]
73-
[overlay/line [cx cy] [cx (- cy ry)]]
74-
[overlay/label (str (.toFixed ry 2)) [cx (- cy (/ ry 2))]]
70+
[svg/times [cx cy]]
71+
[svg/line [cx cy] [(+ cx rx) cy]]
72+
[svg/label (str (.toFixed rx 2)) [(+ cx (/ rx 2)) cy]]
73+
[svg/line [cx cy] [cx (- cy ry)]]
74+
[svg/label (str (.toFixed ry 2)) [cx (- cy (/ ry 2))]]
7575
(map (fn [handle]
7676
^{:key (:id handle)}
7777
[tool.v/square-handle

src/renderer/snap/views.cljs

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[renderer.snap.events :as-alias snap.e]
1010
[renderer.snap.subs :as-alias snap.s]
1111
[renderer.ui :as ui]
12-
[renderer.utils.overlay :as overlay]))
12+
[renderer.utils.svg :as svg]))
1313

1414
(defn options-dropdown
1515
[]
@@ -59,6 +59,6 @@
5959
label (str/join " to " (remove nil? [base-label point-label]))
6060
point (:point nearest-neighbor)]
6161
[:<>
62-
[overlay/times point]
62+
[svg/times point]
6363
(when (not-empty label)
64-
[overlay/label label (mat/add point margin) "start"])]))
64+
[svg/label label (mat/add point margin) "start"])]))

src/renderer/tool/impl/base/edit.cljs

+8-4
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
[renderer.snap.handlers :as snap.h]
1111
[renderer.tool.handlers :as h]
1212
[renderer.tool.hierarchy :as hierarchy]
13-
[renderer.utils.overlay :as overlay]
14-
[renderer.utils.pointer :as pointer]))
13+
[renderer.utils.element :as element]
14+
[renderer.utils.pointer :as pointer]
15+
[renderer.utils.svg :as svg]))
1516

1617
(derive :edit ::hierarchy/tool)
1718

@@ -97,5 +98,8 @@
9798
^{:key (str (:id el) "-edit-points")}
9899
[:g
99100
[element.hierarchy/render-edit el]
100-
^{:key (str (:id el) "-centroid")}
101-
[overlay/centroid el]])]))
101+
(when-let [pos (element.hierarchy/centroid el)]
102+
(let [offset (element/offset el)
103+
pos (mat/add offset pos)]
104+
^{:key (str (:id el) "-centroid")}
105+
[svg/dot pos [:title "Centroid"]]))])]))

src/renderer/tool/impl/base/transform.cljs

+8-8
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
[renderer.utils.bounds :as bounds :refer [Bounds]]
2323
[renderer.utils.element :as element]
2424
[renderer.utils.math :refer [Vec2]]
25-
[renderer.utils.overlay :as overlay]
26-
[renderer.utils.pointer :as pointer]))
25+
[renderer.utils.pointer :as pointer]
26+
[renderer.utils.svg :as svg]))
2727

2828
(def ScaleHandle [:enum
2929
:middle-right
@@ -152,7 +152,7 @@
152152

153153
(defn select-rect
154154
[db intersecting?]
155-
(cond-> (overlay/select-box db)
155+
(cond-> (svg/select-box db)
156156
(not intersecting?)
157157
(assoc-in [:attrs :fill] "transparent")))
158158

@@ -379,7 +379,7 @@
379379
y (+ y2 (/ (+ (/ theme.db/handle-size 2) 15) zoom))
380380
[width height] (bounds/->dimensions bounds)
381381
text (str (.toFixed width 2) " x " (.toFixed height 2))]
382-
[overlay/label text [x y]]))
382+
[svg/label text [x y]]))
383383

384384
(m/=> area-label [:-> number? Bounds any?])
385385
(defn area-label
@@ -390,7 +390,7 @@
390390
x (+ x1 (/ (- x2 x1) 2))
391391
y (+ y1 (/ (- -15 (/ theme.db/handle-size 2)) zoom))
392392
text (str (.toFixed area 2) " px²")]
393-
[overlay/label text [x y]])))
393+
[svg/label text [x y]])))
394394

395395
(defmethod hierarchy/render :transform
396396
[]
@@ -404,12 +404,12 @@
404404
(for [el selected-elements]
405405
(when (:bounds el)
406406
^{:key (str (:id el) "-bounds")}
407-
[overlay/bounding-box (:bounds el) false]))
407+
[svg/bounding-box (:bounds el) false]))
408408

409409
(for [el hovered-ids]
410410
(when (:bounds el)
411411
^{:key (str (:id el) "-bounds")}
412-
[overlay/bounding-box (:bounds el) true]))
412+
[svg/bounding-box (:bounds el) true]))
413413

414414
(when (and (pos? elements-area) (= state :scale) (seq bounds))
415415
[area-label elements-area bounds])
@@ -423,4 +423,4 @@
423423
nil)])
424424

425425
(when pivot-point
426-
[overlay/times pivot-point])]))
426+
[svg/times pivot-point])]))

src/renderer/tool/impl/base/zoom.cljs

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
[renderer.snap.handlers :as snap.h]
66
[renderer.tool.handlers :as h]
77
[renderer.tool.hierarchy :as hierarchy]
8-
[renderer.utils.overlay :as overlay]
9-
[renderer.utils.pointer :as pointer]))
8+
[renderer.utils.pointer :as pointer]
9+
[renderer.utils.svg :as svg]))
1010

1111
(derive :zoom ::hierarchy/tool)
1212

@@ -42,7 +42,7 @@
4242

4343
(defmethod hierarchy/on-drag :zoom
4444
[db _e]
45-
(h/set-temp db (overlay/select-box db)))
45+
(h/set-temp db (svg/select-box db)))
4646

4747
(defmethod hierarchy/on-drag-end :zoom
4848
[db e]

src/renderer/utils/overlay.cljs renamed to src/renderer/utils/svg.cljs

+1-18
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,12 @@
1-
(ns renderer.utils.overlay
1+
(ns renderer.utils.svg
22
"Render functions for canvas overlay objects."
33
(:require
4-
[clojure.core.matrix :as mat]
54
[malli.core :as m]
65
[re-frame.core :as rf]
76
[renderer.app.db :refer [App]]
8-
[renderer.app.subs :as-alias app.s]
97
[renderer.document.subs :as-alias document.s]
10-
[renderer.element.db :refer [Element]]
11-
[renderer.element.hierarchy :as element.hierarchy]
12-
[renderer.frame.subs :as-alias frame.s]
13-
[renderer.snap.subs :as-alias snap.s]
148
[renderer.theme.db :as theme.db]
15-
[renderer.tool.subs :as-alias tool.s]
169
[renderer.utils.bounds :as bounds :refer [Bounds]]
17-
[renderer.utils.element :as element]
1810
[renderer.utils.hiccup :refer [Hiccup]]
1911
[renderer.utils.math :as math :refer [Vec2]]))
2012

@@ -176,12 +168,3 @@
176168
:stroke theme.db/accent
177169
:stroke-opacity ".5"
178170
:stroke-width (/ 1 zoom)}}))
179-
180-
(m/=> centroid [:-> Element any?])
181-
(defn centroid
182-
[el]
183-
(when-let [pos (element.hierarchy/centroid el)]
184-
(let [offset (element/offset el)
185-
pos (mat/add offset pos)]
186-
[dot pos
187-
[:title "Centroid"]])))

0 commit comments

Comments
 (0)