Rename handler->point to get-handler-point

This commit is contained in:
Andrey Antukh 2025-04-09 14:42:40 +02:00
parent 0e61398d67
commit 61c23877c1
6 changed files with 16 additions and 14 deletions

View file

@ -102,7 +102,8 @@
(->> (d/enumerate content) (->> (d/enumerate content)
(filterv (fn [[_ segment]] (= (helpers/segment->point segment) point))))) (filterv (fn [[_ segment]] (= (helpers/segment->point segment) point)))))
(defn handler->point (defn get-handler-point
"Given a segment index and prefix, get a handler point"
[content index prefix] [content index prefix]
(when (and (some? index) (when (and (some? index)
(some? prefix)) (some? prefix))
@ -397,11 +398,12 @@
(assoc :c2x (:x h2)) (assoc :c2x (:x h2))
(assoc :c2y (:y h2)))))))) (assoc :c2y (:y h2))))))))
;; FIXME: optimize
(defn is-curve? (defn is-curve?
[content point] [content point]
(let [handlers (-> (content->handlers content) (let [handlers (-> (content->handlers content)
(get point)) (get point))
handler-points (map #(handler->point content (first %) (second %)) handlers)] handler-points (map #(get-handler-point content (first %) (second %)) handlers)]
(some #(not= point %) handler-points))) (some #(not= point %) handler-points)))
(def ^:private xf:mapcat-points (def ^:private xf:mapcat-points

View file

@ -330,9 +330,9 @@
expect2 (gpt/point 439.0 802.0) expect2 (gpt/point 439.0 802.0)
expect3 (gpt/point 480.0 839.0) expect3 (gpt/point 480.0 839.0)
result4 (path.segment/handler->point content 3 :c1) result4 (path.segment/get-handler-point content 3 :c1)
result5 (path.segment/handler->point content 1 :c1) result5 (path.segment/get-handler-point content 1 :c1)
result6 (path.segment/handler->point content 0 :c1)] result6 (path.segment/get-handler-point content 0 :c1)]
(t/is (= result1 expect1)) (t/is (= result1 expect1))
(t/is (= result2 expect2)) (t/is (= result2 expect2))

View file

@ -78,7 +78,7 @@
prefix (or prefix :c1) prefix (or prefix :c1)
position (or position (path.helpers/segment->point (nth content (dec index)))) position (or position (path.helpers/segment->point (nth content (dec index))))
old-handler (path.segment/handler->point content index prefix) old-handler (path.segment/get-handler-point content index prefix)
handler-position (cond-> (gpt/point x y) handler-position (cond-> (gpt/point x y)
shift? (path.helpers/position-fixed-angle position)) shift? (path.helpers/position-fixed-angle position))

View file

@ -264,7 +264,7 @@
handler (-> content (nth index) (path.segment/get-handler prefix)) handler (-> content (nth index) (path.segment/get-handler prefix))
[op-idx op-prefix] (path.segment/opposite-index content index prefix) [op-idx op-prefix] (path.segment/opposite-index content index prefix)
opposite (path.segment/handler->point content op-idx op-prefix)] opposite (path.segment/get-handler-point content op-idx op-prefix)]
(streams/drag-stream (streams/drag-stream
(rx/concat (rx/concat

View file

@ -79,8 +79,8 @@
[op-idx op-prefix] (path.segment/opposite-index content index prefix) [op-idx op-prefix] (path.segment/opposite-index content index prefix)
node (path.segment/handler->node content index prefix) node (path.segment/handler->node content index prefix)
handler (path.segment/handler->point content index prefix) handler (path.segment/get-handler-point content index prefix)
opposite (path.segment/handler->point content op-idx op-prefix) opposite (path.segment/get-handler-point content op-idx op-prefix)
[ocx ocy] (path.helpers/prefix->coords op-prefix) [ocx ocy] (path.helpers/prefix->coords op-prefix)
[odx ody] (calculate-opposite-delta node handler opposite match-angle? match-distance? dx dy) [odx ody] (calculate-opposite-delta node handler opposite match-angle? match-distance? dx dy)

View file

@ -245,8 +245,8 @@
(defn- matching-handler? [content node handlers] (defn- matching-handler? [content node handlers]
(when (= 2 (count handlers)) (when (= 2 (count handlers))
(let [[[i1 p1] [i2 p2]] handlers (let [[[i1 p1] [i2 p2]] handlers
p1 (path.segment/handler->point content i1 p1) p1 (path.segment/get-handler-point content i1 p1)
p2 (path.segment/handler->point content i2 p2) p2 (path.segment/get-handler-point content i2 p2)
v1 (gpt/to-vec node p1) v1 (gpt/to-vec node p1)
v2 (gpt/to-vec node p2) v2 (gpt/to-vec node p2)
@ -360,9 +360,9 @@
show-handler? show-handler?
(fn [[index prefix]] (fn [[index prefix]]
;; FIXME: handler->point is executed twice for each ;; FIXME: get-handler-point is executed twice for each
;; render, this can be optimized ;; render, this can be optimized
(let [handler-position (path.segment/handler->point content index prefix)] (let [handler-position (path.segment/get-handler-point content index prefix)]
(not= position handler-position))) (not= position handler-position)))
position-handlers position-handlers
@ -385,7 +385,7 @@
[:g.path-node {:key (dm/str pos-x "-" pos-y)} [:g.path-node {:key (dm/str pos-x "-" pos-y)}
[:g.point-handlers {:pointer-events (when (= edit-mode :draw) "none")} [:g.point-handlers {:pointer-events (when (= edit-mode :draw) "none")}
(for [[hindex prefix] position-handlers] (for [[hindex prefix] position-handlers]
(let [handler-position (path.segment/handler->point content hindex prefix) (let [handler-position (path.segment/get-handler-point content hindex prefix)
handler-hover? (contains? hover-handlers [hindex prefix]) handler-hover? (contains? hover-handlers [hindex prefix])
moving-handler? (= handler-position moving-handler) moving-handler? (= handler-position moving-handler)
matching-handler? (matching-handler? content position position-handlers)] matching-handler? (matching-handler? content position position-handlers)]