-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A colour model for human vision -- -- This package provides a data type for colours. Colours can be blended -- and composed. Various colour spaces are supported. A module of colour -- names (Data.Colour.Names) is provided. @package colour @version 0.0.0 -- | Specifies Colours in accordance with the sRGB standard. module Data.Colour.SRGB -- | Construct a colour from a 24-bit (three 8-bit words) sRGB -- specification. sRGB24 :: (Ord b, Floating b) => Word8 -> Word8 -> Word8 -> Colour b -- | Construct a colour from an sRGB specification. Input components are -- expected to be in the range [0..maxBound]. sRGBBounded :: (Ord b, Floating b, Integral a, Bounded a) => a -> a -> a -> Colour b -- | Construct a colour from an sRGB specification. Input components are -- expected to be in the range [0..1]. sRGB :: (Ord b, Floating b) => b -> b -> b -> Colour b -- | Return the approximate 24-bit sRGB colour components as three 8-bit -- components. Out of range values are clamped. toSRGB24 :: (RealFrac b, Floating b) => Colour b -> (Word8, Word8, Word8) -- | Return the approximate sRGB colour components in the range -- [0..maxBound]. Out of range values are clamped. toSRGBBounded :: (RealFrac b, Floating b, Integral a, Bounded a) => Colour b -> (a, a, a) -- | Return the sRGB colour components in the range [0..1]. toSRGB :: (RealFrac b, Floating b) => Colour b -> (b, b, b) -- | Show a colour in hexadecimal form, e.g. "#00aaff" sRGB24shows :: (RealFrac b, Floating b) => Colour b -> ShowS -- | Show a colour in hexadecimal form, e.g. "#00aaff" sRGB24show :: (RealFrac b, Floating b) => Colour b -> String -- | Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff" sRGB24reads :: (RealFrac b, Floating b) => ReadS (Colour b) -- | Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff" sRGB24read :: (RealFrac b, Floating b) => String -> (Colour b) -- | Defines the Y'CbCr and Y'PbPr colour spaces in accordance with ITU-R -- Recommendation BT.601 used for high definition television (HDTV). -- -- For standard definition television (SDTV) see -- Data.Colour.Rec601. -- -- Also allows you to create a colour from linear coordinates -- using the ITU-R Recommendation BT.601 RGB primaries, which are the -- primaries used in sRGB. See also Data.Colour.SRGB. module Data.Colour.Rec709 -- | Luma (Y') approximates the Data.Colour.CIE.lightness of a -- Colour. luma :: (Floating a, RealFrac a) => Colour a -> a -- | Construct a Colour from Y'PbPr coordinates. y'PbPr :: (Floating a, RealFrac a) => a -> a -> a -> Colour a -- | Returns the Y'PbPr coordinates of a Colour. toY'PbPr :: (Floating a, RealFrac a) => Colour a -> (a, a, a) -- | Construct a Colour from Y'CbRr 8-bit coordinates. y'CbCr :: (Floating a, RealFrac a) => Word8 -> Word8 -> Word8 -> Colour a -- | Returns the Y'CbCr 8-bit coordinates of a Colour. toY'CbCr :: (Floating a, RealFrac a) => Colour a -> (Word8, Word8, Word8) -- | Constructs a Colour from RGB values using the linear RGB -- colour space specified in Rec.709. rgb709 :: a -> a -> a -> Colour a -- | Return RGB values using the linear RGB colour space specified -- in Rec.709. toRGB709 :: Colour a -> (a, a, a) -- | Datatypes for representing the human perception of colour. Includes -- common operations for blending and compositing colours. The most -- common way of creating colours is either by name (see -- Data.Colour.Names) or by giving an sRGB triple (see -- Data.Colour.SRGB). -- -- Methods of specifying Colours can be found in -- -- module Data.Colour -- | This type represents the human preception of colour. The a -- parameter is a numeric type used internally for the representation. data Colour a -- | Change the type used to represent the colour coordinates. colourConvert :: (Fractional b, Real a) => Colour a -> Colour b -- | This type represents a Colour that may be semi-transparent. data AlphaColour a -- | Creates an opaque AlphaColour from a Colour. alphaColour :: (Num a) => Colour a -> AlphaColour a -- | Returns a AlphaColour more transparent by a factor of -- o. fade :: (Num a) => a -> AlphaColour a -> AlphaColour a -- | Creates an AlphaColour from a Colour with a given -- opacity. -- --
--   c `withOpacity` o == fade o (alphaColour c) 
--   
withOpacity :: (Num a) => Colour a -> a -> AlphaColour a -- | This AlphaColour is entirely transparent and has no associated -- colourChannel. transparent :: (Num a) => AlphaColour a -- | Change the type used to represent the colour coordinates. alphaColourConvert :: (Fractional b, Real a) => AlphaColour a -> AlphaColour b -- | Returns the opacity of an AlphaColour. This function is -- provided only for converting to other datatypes. Its use is -- discouraged. Instead compose the AlphaColour with another -- Colour and extract the resulting Colour components. alphaChannel :: AlphaColour a -> a -- | Returns the colour of an AlphaColour. colourChannel -- transparent is undefined and may result in nan or an -- error. This function is provided only for converting to other -- datatypes. Its use is discouraged. Instead compose the -- AlphaColour with another Colour and extract the -- resulting Colour components. colourChannel :: (Fractional a) => AlphaColour a -> Colour a class AffineSpace f affineCombo :: (AffineSpace f, Num a) => [(a, f a)] -> f a -> f a -- | Compute the weighted average of two points. e.g. -- --
--   blend 0.4 a b = 0.4*a + 0.6*b
--   
blend :: (Num a, AffineSpace f) => a -> f a -> f a -> f a class Composite f over :: (Composite f, Num a) => AlphaColour a -> f a -> f a -- | Composites c1 over c2 using opacity a. compositeWith :: (Num a) => a -> Colour a -> Colour a -> Colour a -- | Names for colours. Names taken from SVG 1.0 specification. module Data.Colour.Names aliceblue :: (Ord a, Floating a) => Colour a antiquewhite :: (Ord a, Floating a) => Colour a aqua :: (Ord a, Floating a) => Colour a aquamarine :: (Ord a, Floating a) => Colour a azure :: (Ord a, Floating a) => Colour a beige :: (Ord a, Floating a) => Colour a bisque :: (Ord a, Floating a) => Colour a black :: (Ord a, Floating a) => Colour a blanchedalmond :: (Ord a, Floating a) => Colour a blue :: (Ord a, Floating a) => Colour a blueviolet :: (Ord a, Floating a) => Colour a brown :: (Ord a, Floating a) => Colour a burlywood :: (Ord a, Floating a) => Colour a cadetblue :: (Ord a, Floating a) => Colour a chartreuse :: (Ord a, Floating a) => Colour a chocolate :: (Ord a, Floating a) => Colour a coral :: (Ord a, Floating a) => Colour a cornflowerblue :: (Ord a, Floating a) => Colour a cornsilk :: (Ord a, Floating a) => Colour a crimson :: (Ord a, Floating a) => Colour a cyan :: (Ord a, Floating a) => Colour a darkblue :: (Ord a, Floating a) => Colour a darkcyan :: (Ord a, Floating a) => Colour a darkgoldenrod :: (Ord a, Floating a) => Colour a darkgrey :: (Ord a, Floating a) => Colour a darkgray :: (Ord a, Floating a) => Colour a darkgreen :: (Ord a, Floating a) => Colour a darkkhaki :: (Ord a, Floating a) => Colour a darkmagenta :: (Ord a, Floating a) => Colour a darkolivegreen :: (Ord a, Floating a) => Colour a darkorange :: (Ord a, Floating a) => Colour a darkorchid :: (Ord a, Floating a) => Colour a darkred :: (Ord a, Floating a) => Colour a darksalmon :: (Ord a, Floating a) => Colour a darkseagreen :: (Ord a, Floating a) => Colour a darkslateblue :: (Ord a, Floating a) => Colour a darkturqoise :: (Ord a, Floating a) => Colour a darkslategrey :: (Ord a, Floating a) => Colour a darkslategray :: (Ord a, Floating a) => Colour a darkviolet :: (Ord a, Floating a) => Colour a deeppink :: (Ord a, Floating a) => Colour a deepskyblue :: (Ord a, Floating a) => Colour a dimgrey :: (Ord a, Floating a) => Colour a dimgray :: (Ord a, Floating a) => Colour a dodgerblue :: (Ord a, Floating a) => Colour a firebrick :: (Ord a, Floating a) => Colour a floralwhite :: (Ord a, Floating a) => Colour a forestgreen :: (Ord a, Floating a) => Colour a fuchsia :: (Ord a, Floating a) => Colour a gainsboro :: (Ord a, Floating a) => Colour a ghostwhite :: (Ord a, Floating a) => Colour a gold :: (Ord a, Floating a) => Colour a goldenrod :: (Ord a, Floating a) => Colour a grey :: (Ord a, Floating a) => Colour a gray :: (Ord a, Floating a) => Colour a green :: (Ord a, Floating a) => Colour a greenyellow :: (Ord a, Floating a) => Colour a honeydew :: (Ord a, Floating a) => Colour a hotpink :: (Ord a, Floating a) => Colour a indianred :: (Ord a, Floating a) => Colour a indigo :: (Ord a, Floating a) => Colour a ivory :: (Ord a, Floating a) => Colour a khaki :: (Ord a, Floating a) => Colour a lavender :: (Ord a, Floating a) => Colour a lavenderblush :: (Ord a, Floating a) => Colour a lawngreen :: (Ord a, Floating a) => Colour a lemonchiffon :: (Ord a, Floating a) => Colour a lightblue :: (Ord a, Floating a) => Colour a lightcoral :: (Ord a, Floating a) => Colour a lightcyan :: (Ord a, Floating a) => Colour a lightgoldenrodyellow :: (Ord a, Floating a) => Colour a lightgreen :: (Ord a, Floating a) => Colour a lightgrey :: (Ord a, Floating a) => Colour a lightgray :: (Ord a, Floating a) => Colour a lightpink :: (Ord a, Floating a) => Colour a lightsalmon :: (Ord a, Floating a) => Colour a lightseagreen :: (Ord a, Floating a) => Colour a lightskyblue :: (Ord a, Floating a) => Colour a lightslategrey :: (Ord a, Floating a) => Colour a lightslategray :: (Ord a, Floating a) => Colour a lisghtsteelblue :: (Ord a, Floating a) => Colour a lightyellow :: (Ord a, Floating a) => Colour a lime :: (Ord a, Floating a) => Colour a limegreen :: (Ord a, Floating a) => Colour a linen :: (Ord a, Floating a) => Colour a magenta :: (Ord a, Floating a) => Colour a maroon :: (Ord a, Floating a) => Colour a mediumaquamarine :: (Ord a, Floating a) => Colour a mediumblue :: (Ord a, Floating a) => Colour a mediumorchid :: (Ord a, Floating a) => Colour a mediumpurple :: (Ord a, Floating a) => Colour a mediumseagreen :: (Ord a, Floating a) => Colour a mediumslateblue :: (Ord a, Floating a) => Colour a mediumspringgreen :: (Ord a, Floating a) => Colour a mediumturquoise :: (Ord a, Floating a) => Colour a mediumvioletred :: (Ord a, Floating a) => Colour a midnightblue :: (Ord a, Floating a) => Colour a mintcream :: (Ord a, Floating a) => Colour a mistyrose :: (Ord a, Floating a) => Colour a moccasin :: (Ord a, Floating a) => Colour a navajowhite :: (Ord a, Floating a) => Colour a navy :: (Ord a, Floating a) => Colour a navyblue :: (Ord a, Floating a) => Colour a oldlace :: (Ord a, Floating a) => Colour a olive :: (Ord a, Floating a) => Colour a olivedrab :: (Ord a, Floating a) => Colour a orange :: (Ord a, Floating a) => Colour a orangered :: (Ord a, Floating a) => Colour a orchid :: (Ord a, Floating a) => Colour a palegoldenrod :: (Ord a, Floating a) => Colour a palegreen :: (Ord a, Floating a) => Colour a paleturquoise :: (Ord a, Floating a) => Colour a palevioletred :: (Ord a, Floating a) => Colour a papayawhip :: (Ord a, Floating a) => Colour a peachpuff :: (Ord a, Floating a) => Colour a peru :: (Ord a, Floating a) => Colour a pink :: (Ord a, Floating a) => Colour a plum :: (Ord a, Floating a) => Colour a powderblue :: (Ord a, Floating a) => Colour a purple :: (Ord a, Floating a) => Colour a red :: (Ord a, Floating a) => Colour a rosybrown :: (Ord a, Floating a) => Colour a royalblue :: (Ord a, Floating a) => Colour a saddlebrown :: (Ord a, Floating a) => Colour a salmon :: (Ord a, Floating a) => Colour a sandybrown :: (Ord a, Floating a) => Colour a seagreen :: (Ord a, Floating a) => Colour a seashell :: (Ord a, Floating a) => Colour a sienna :: (Ord a, Floating a) => Colour a silver :: (Ord a, Floating a) => Colour a skyblue :: (Ord a, Floating a) => Colour a slateblue :: (Ord a, Floating a) => Colour a snow :: (Ord a, Floating a) => Colour a springgreen :: (Ord a, Floating a) => Colour a steelblue :: (Ord a, Floating a) => Colour a tan :: (Ord a, Floating a) => Colour a teal :: (Ord a, Floating a) => Colour a thistle :: (Ord a, Floating a) => Colour a tomato :: (Ord a, Floating a) => Colour a turquoise :: (Ord a, Floating a) => Colour a violet :: (Ord a, Floating a) => Colour a wheat :: (Ord a, Floating a) => Colour a white :: (Ord a, Floating a) => Colour a whitesmoke :: (Ord a, Floating a) => Colour a yellow :: (Ord a, Floating a) => Colour a yellowgreen :: (Ord a, Floating a) => Colour a -- | Colour operations defined by the International Commission on -- Illumination (CIE). module Data.Colour.CIE -- | Construct a Colour from XYZ coordinates for the 2 standard -- (colourimetric) observer. cieXYZ :: (Fractional a) => a -> a -> a -> Colour a -- | Return the XYZ colour coordinates for the 2 standard (colourimetric) -- observer. toCIEXYZ :: (Fractional a) => Colour a -> (a, a, a) -- | Returns the Y colour coordinate (luminance) for the 2 standard -- (colourimetric) observer. luminance :: (Fractional a) => Colour a -> a -- | Returns the lightness of a colour, which is a perceptually uniform -- measure. lightness :: (Ord a, Floating a) => Colour a -> a -- | Returns the CIELAB coordinates of a colour, which is a perceptually -- uniform colour space. cieLab :: (Ord a, Floating a) => Colour a -> (a, a, a) -- | Returns the CIELUV coordinates of a colour, which is a perceptually -- uniform colour space. cieLuv :: (Ord a, Floating a) => Colour a -> (a, a, a) -- | Defines the Y'CbCr and Y'PbPr colour spaces in accordance with ITU-R -- Recommendation BT.601 used for standard definition television (SDTV). -- -- For high definition television (HDTV) see Data.Colour.Rec709. module Data.Colour.Rec601 -- | Luma (Y') approximates the Data.Colour.CIE.lightness of a -- Colour. luma :: (Floating a, RealFrac a) => Colour a -> a -- | Construct a Colour from Y'PbPr coordinates. y'PbPr :: (Floating a, RealFrac a) => a -> a -> a -> Colour a -- | Returns the Y'PbPr coordinates of a Colour. toY'PbPr :: (Floating a, RealFrac a) => Colour a -> (a, a, a) -- | Construct a Colour from Y'CbRr 8-bit coordinates. y'CbCr :: (Floating a, RealFrac a) => Word8 -> Word8 -> Word8 -> Colour a -- | Returns the Y'CbCr 8-bit coordinates of a Colour. toY'CbCr :: (Floating a, RealFrac a) => Colour a -> (Word8, Word8, Word8)