From 2fd6344c44488d4e693600a893c6cf0973104121 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 8 Mar 2021 16:31:43 +0100 Subject: [PATCH] :sparkles: Support for opacity/blend-mode in svgs --- .../app/main/data/workspace/svg_upload.cljs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/frontend/src/app/main/data/workspace/svg_upload.cljs b/frontend/src/app/main/data/workspace/svg_upload.cljs index baea021f4..cb4c95563 100644 --- a/frontend/src/app/main/data/workspace/svg_upload.cljs +++ b/frontend/src/app/main/data/workspace/svg_upload.cljs @@ -96,6 +96,25 @@ (merge {:stroke-style :svg} shape) shape))) +(defn setup-opacity [shape] + (cond-> shape + (get-in shape [:svg-attrs :opacity]) + (-> (update :svg-attrs dissoc :opacity) + (assoc :opacity (get-in shape [:svg-attrs :opacity]))) + + (get-in shape [:svg-attrs :style :opacity]) + (-> (update-in [:svg-attrs :style] dissoc :opacity) + (assoc :opacity (get-in shape [:svg-attrs :style :opacity]))) + + + (get-in shape [:svg-attrs :mix-blend-mode]) + (-> (update :svg-attrs dissoc :mix-blend-mode) + (assoc :blend-mode (-> (get-in shape [:svg-attrs :mix-blend-mode]) keyword))) + + (get-in shape [:svg-attrs :style :mix-blend-mode]) + (-> (update-in [:svg-attrs :style] dissoc :mix-blend-mode) + (assoc :blend-mode (-> (get-in shape [:svg-attrs :style :mix-blend-mode]) keyword))))) + (defn create-raw-svg [name frame-id svg-data {:keys [attrs] :as data}] (let [{:keys [x y width height offset-x offset-y]} svg-data] (-> {:id (uuid/next)