| Safe Haskell | Safe-Inferred |
|---|
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 -> ColourSource
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 -> ColourSource
This is similar to zipWith. (Mostly used internally,
but exposed here in case it may be useful.)
cfold :: (Double -> Double -> Double) -> Colour -> DoubleSource
Use a function to collapse a Colour into a Double. No
particular order of application is promised.
cscale :: Double -> Colour -> ColourSource
Scale a Colour by a specified amount. (That is, change the
brightness while not affecting the shade.)