🎉 Implement rounded corners

This commit is contained in:
Belén Albeza 2025-01-09 17:11:34 +01:00
parent 576c912c81
commit 6e7a8c239c
6 changed files with 115 additions and 18 deletions

View file

@ -376,6 +376,14 @@
value (:value blur)]
(h/call internal-module "_set_shape_blur" type hidden value)))
(defn set-shape-corners
[corners]
(let [r1 (or (get corners 0) 0)
r2 (or (get corners 1) 0)
r3 (or (get corners 2) 0)
r4 (or (get corners 3) 0)]
(h/call internal-module "_set_shape_corners" r1 r2 r3 r4)))
(def debounce-render-without-cache (fns/debounce render-without-cache 100))
(defn set-view
@ -407,8 +415,13 @@
opacity (dm/get-prop shape :opacity)
hidden (dm/get-prop shape :hidden)
content (dm/get-prop shape :content)
bool-content (dm/get-prop shape :bool-content)
blur (dm/get-prop shape :blur)]
blur (dm/get-prop shape :blur)
corners (when (some? (dm/get-prop shape :r1))
[(dm/get-prop shape :r1)
(dm/get-prop shape :r2)
(dm/get-prop shape :r3)
(dm/get-prop shape :r4)])
bool-content (dm/get-prop shape :bool-content)]
(use-shape id)
(set-shape-type type)
@ -424,6 +437,7 @@
(set-shape-blur blur))
(when (and (some? content) (= type :path)) (set-shape-path-content content))
(when (some? bool-content) (set-shape-bool-content bool-content))
(when (some? corners) (set-shape-corners corners))
(let [pending' (concat (set-shape-fills fills) (set-shape-strokes strokes))]
(recur (inc index) (into pending pending'))))
pending))]