module FRP.Helm.Color where
data Color = Color { r :: !Double, g :: !Double, b :: !Double, a :: !Double }
rgb :: Double -> Double -> Double -> Color
rgb r g b = Color r g b 1
rgba :: Double -> Double -> Double -> Double -> Color
rgba = Color
red :: Color
red = rgb 1 0 0
lime :: Color
lime = rgb 0 1 0
blue :: Color
blue = rgb 0 0 1
yellow :: Color
yellow = rgb 1 1 0
cyan :: Color
cyan = rgb 0 1 1
magenta :: Color
magenta = rgb 1 0 1
black :: Color
black = rgb 0 0 0
white :: Color
white = rgb 1 1 1
gray :: Color
gray = rgb 0.5 0.5 0.5
grey :: Color
grey = gray
maroon :: Color
maroon = rgb 0.5 0 0
navy :: Color
navy = rgb 0 0 0.5
green :: Color
green = rgb 0 0.5 0
teal :: Color
teal = rgb 0 0.5 0.5
purple :: Color
purple = rgb 0.5 0 0.5
violet :: Color
violet = rgb 0.923 0.508 0.923
forestGreen :: Color
forestGreen = rgb 0.133 0.543 0.133
data Gradient = Linear (Double, Double) (Double, Double) [(Double, Color)] |
Radial (Double, Double) Double (Double, Double) Double [(Double, Color)]
linear :: (Double, Double) -> (Double, Double) -> [(Double, Color)] -> Gradient
linear = Linear
radial :: (Double, Double) -> Double -> (Double, Double) -> Double -> [(Double, Color)] -> Gradient
radial = Radial