diff --git a/src/uxbox/ui/shapes/text.cljs b/src/uxbox/ui/shapes/text.cljs index 5966cb0c6..a1ce661bd 100644 --- a/src/uxbox/ui/shapes/text.cljs +++ b/src/uxbox/ui/shapes/text.cljs @@ -13,6 +13,7 @@ [uxbox.ui.keyboard :as kbd] [uxbox.ui.shapes.core :as uusc] [uxbox.ui.shapes.icon :as uusi] + [uxbox.util.color :as color] [uxbox.util.dom :as dom]) (:import goog.events.EventType)) @@ -134,14 +135,18 @@ [:font-size]) (defn- build-style - [{:keys [font]}] + [{:keys [font fill opacity] :or {fill "#000000" opacity 1}}] (let [{:keys [family weight style size align] :or {family "sourcesanspro" weight "normal" style "normal" align "left" - size 16}} font] + size 16}} font + color (-> fill + (color/hex->rgba opacity) + (color/rgb->str))] {:fontSize (str size "px") + :color color :textAlign align :fontFamily family :fontWeight weight diff --git a/src/uxbox/ui/workspace/sidebar/options.cljs b/src/uxbox/ui/workspace/sidebar/options.cljs index e045d1251..9defc170e 100644 --- a/src/uxbox/ui/workspace/sidebar/options.cljs +++ b/src/uxbox/ui/workspace/sidebar/options.cljs @@ -36,7 +36,7 @@ :builtin/rect [:menu/rect-measures :menu/fill :menu/stroke] :builtin/line [:menu/line-measures :menu/stroke] :builtin/circle [:menu/circle-measures :menu/fill :menu/stroke] - :builtin/text [:menu/text] + :builtin/text [:menu/fill :menu/text] :builtin/group []}) (def ^:const ^:private +menus-by-id+ diff --git a/src/uxbox/util/color.cljs b/src/uxbox/util/color.cljs index 56a011004..98e3eab87 100644 --- a/src/uxbox/util/color.cljs +++ b/src/uxbox/util/color.cljs @@ -6,7 +6,8 @@ ;; Copyright (c) 2015-2016 Juan de la Cruz (ns uxbox.util.color - "Color conversion utils.") + "Color conversion utils." + (:require [cuerdas.core :as str])) (defn hex->rgb [^string data] @@ -14,6 +15,18 @@ (rest) (mapv #(js/parseInt % 16)))) +(defn hex->rgba + [^string data ^number opacity] + (-> (hex->rgb data) + (conj opacity))) + +(defn rgb->str + [color] + {:pre [(vector? color)]} + (if (= (count color) 3) + (apply str/format "rgb(%s,%s,%s)" color) + (apply str/format "rgba(%s,%s,%s,%s)" color))) + (defn rgb->hex [[r g b]] (letfn [(to-hex [c]