| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell98 |
Data.Colour.Double
Description
- data Colour = Colour {}
- cmap :: (Double -> Double) -> Colour -> Colour
- czip :: (Double -> Double -> Double) -> Colour -> Colour -> Colour
- cfold :: (Double -> Double -> Double) -> Colour -> Double
- grey :: Double -> Colour
- cscale :: Double -> Colour -> Colour
- clip :: Colour -> Colour
- unpack :: Colour -> (Double, Double, Double)
- pack :: (Double, Double, Double) -> Colour
- cBlack :: Colour
- cRed :: Colour
- cYellow :: Colour
- cGreen :: Colour
- cCyan :: Colour
- cBlue :: Colour
- cMagenta :: Colour
- cWhite :: Colour
Documentation
The main colour type. It stores three channels (red, green and
blue) as linear Double values normally ranging from 0 to 1.
(0 represents minimum intensity, 1 represents maximum. Black is
therefore Colour 0 0 0 and white is Colour 1 1 1.)
The channel values are stored as strict, unboxed fields, so
operating on Colours should be quite efficient in time and space.
The Num and Fractional instances provide arithmetic for
Colours. Note that (*) acts channel-wise; this is usually what
is wanted.
cmap :: (Double -> Double) -> Colour -> Colour Source
Apply a function to every channel in a colour. (Mostly used internally, but exposed here in case it may be useful.)
czip :: (Double -> Double -> Double) -> Colour -> Colour -> Colour Source
This is similar to zipWith. (Mostly used internally,
but exposed here in case it may be useful.)
cfold :: (Double -> Double -> Double) -> Colour -> Double Source
Use a function to collapse a Colour into a Double. No
particular order of application is promised.
cscale :: Double -> Colour -> Colour Source
Scale a Colour by a specified amount. (That is, change the
brightness while not affecting the shade.)