Copyright | [2016] Trevor L. McDonell |
---|---|
License | BSD3 |
Maintainer | Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> |
Stability | experimental |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Colours in the HSL (hue-saturation-lightness) cylindrical-coordinate representation of points in the RGB colour space.
- type Colour = HSL Float
- data HSL a = HSL a a a
- hsl :: Exp Float -> Exp Float -> Exp Float -> Exp Colour
- clamp :: Exp Colour -> Exp Colour
- toRGB :: Exp (HSL Float) -> Exp (RGB Float)
- fromRGB :: Exp (RGB Float) -> Exp (HSL Float)
- hue :: Exp (RGB Float) -> Exp Float
- saturation :: Exp (RGB Float) -> Exp Float
- lightness :: Exp (RGB Float) -> Exp Float
Documentation
HSL a a a |
Functor HSL Source # | |
Elt a => IsProduct Elt (HSL a) Source # | |
(Lift Exp a, Elt (Plain a)) => Lift Exp (HSL a) Source # | |
Elt a => Unlift Exp (HSL (Exp a)) Source # | |
Eq a => Eq (HSL a) Source # | |
Fractional a => Fractional (Exp (HSL a)) Source # | |
(Num a, Fractional a) => Fractional (HSL a) Source # | |
Num a => Num (Exp (HSL a)) Source # | |
Num a => Num (HSL a) Source # | |
Show a => Show (HSL a) Source # | |
Elt a => Elt (HSL a) Source # | |
NamedColour (HSL Float) Source # | |
type EltRepr (HSL a) Source # | |
type ProdRepr (HSL a) Source # | |
type Plain (HSL a) Source # | |
:: Exp Float | hue component |
-> Exp Float | saturation component |
-> Exp Float | lightness component |
-> Exp Colour |
Construct a HSL colour value from the individual channel components. The hue component is measured in degrees and wrapped to the range [0..360), while the saturation and value are clamped to the range [0..1].
toRGB :: Exp (HSL Float) -> Exp (RGB Float) Source #
Convert a HSL colour to an RGB colour-space value