diff --git a/frontend/src/app/main/ui/workspace/shapes/frame/dynamic_modifiers.cljs b/frontend/src/app/main/ui/workspace/shapes/frame/dynamic_modifiers.cljs index 14620a762..70adcdfb6 100644 --- a/frontend/src/app/main/ui/workspace/shapes/frame/dynamic_modifiers.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/frame/dynamic_modifiers.cljs @@ -81,7 +81,6 @@ (let [shape-node (dom/query base-node (str "#shape-" id)) frame? (= :frame type) - text? (= :text type) group? (= :group type) mask? (and group? masked-group?)] @@ -104,10 +103,6 @@ (dom/query-all shape-defs ".svg-def") (dom/query-all shape-defs ".svg-mask-wrapper"))) - text? - [shape-node - (dom/query shape-node ".text-container")] - :else [shape-node]))) @@ -172,10 +167,12 @@ (defn update-transform! [base-node shapes transforms modifiers] - (doseq [{:keys [id] :as shape} shapes] + (doseq [{:keys [id type] :as shape} shapes] (when-let [nodes (get-nodes base-node shape)] (let [transform (get transforms id) - modifiers (get-in modifiers [id :modifiers])] + modifiers (get-in modifiers [id :modifiers]) + text? (= type :text) + transform-text? (and text? (and (nil? (:resize-vector modifiers)) (nil? (:resize-vector-2 modifiers))))] (doseq [node nodes] (cond @@ -188,17 +185,6 @@ (dom/class? node "frame-children") (set-transform-att! node "transform" (gmt/inverse transform)) - ;; We need to update the shape transform matrix when there is a resize - ;; we do it dinamicaly here - (dom/class? node "text-container") - (let [modifiers (dissoc modifiers :displacement :rotation)] - (when (not (gsh/empty-modifiers? modifiers)) - (let [mtx (-> shape - (assoc :modifiers modifiers) - (gsh/transform-shape) - (gsh/transform-matrix {:no-flip true}))] - (override-transform-att! node "transform" mtx)))) - (or (= (dom/get-tag-name node) "mask") (= (dom/get-tag-name node) "filter")) (transform-region! node modifiers) @@ -210,7 +196,7 @@ (= (dom/get-tag-name node) "pattern") (set-transform-att! node "patternTransform" transform) - (and (some? transform) (some? node)) + (and (some? transform) (some? node) (or (not text?) transform-text?)) (set-transform-att! node "transform" transform))))))) (defn remove-transform! diff --git a/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts.cljs b/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts.cljs index dcc044686..28c8b5f21 100644 --- a/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts.cljs @@ -30,7 +30,10 @@ (defn strip-modifier [modifier] - (d/update-when modifier :modifiers dissoc :displacement :rotation)) + (if (or (some? (get-in modifier [:modifiers :resize-vector])) + (some? (get-in modifier [:modifiers :resize-vector-2]))) + modifier + (d/update-when modifier :modifiers dissoc :displacement :rotation))) (defn process-shape [modifiers {:keys [id] :as shape}] (let [modifier (-> (get modifiers id) strip-modifier)