-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A model for human colour/color perception -- -- This package provides a data type for colours and transparency. -- Colours can be blended and composed. sRGB colour space is supported -- (Data.Colour.SRGB). A module of colour names -- (Data.Colour.Names) is provided. @package colour @version 2.0.0 -- | Provides a linear colour space with the same gamut as -- Data.Colour.SRGB. module Data.Colour.SRGB.Linear -- | Constructs a Colour from RGB values using the linear RGB -- colour with the same gamut as sRGB. rgb :: (Fractional a) => a -> a -> a -> Colour a -- | Return RGB values using the linear RGB colour with the same -- gamut as sRGB. toRGB :: (Fractional a) => Colour a -> RGB 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). module Data.Colour -- | This type represents the human preception of colour. The a -- parameter is a numeric type used internally for the representation. -- -- The Monoid instance allows one to add colours, but beware that -- adding colours can take you out of gamut. Consider using blend -- whenever possible. 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. -- -- The Monoid instance allows you to composite colours. -- --
--   x `mappend` y == x `over` y
--   
-- -- To get the (pre-multiplied) colour channel of an AlphaColour -- c, simply composite c over black. -- --
--   c `over` (mempty :: Colour a)
--   
data AlphaColour a -- | Creates an opaque AlphaColour from a Colour. opaque :: (Num a) => Colour a -> AlphaColour a -- | Creates an AlphaColour from a Colour with a given -- opacity. -- --
--   c `withOpacity` o == dissolve o (opaque c) 
--   
withOpacity :: (Num a) => Colour a -> a -> AlphaColour a -- | This AlphaColour is entirely transparent and has no associated -- colour channel. 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. alphaChannel :: AlphaColour a -> 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
--   
-- -- The weight can be negative, or greater than 1.0; however, be aware -- that non-convex combinations may lead to out of gamut colours. blend :: (Num a, AffineSpace f) => a -> f a -> f a -> f a class ColourOps f over :: (ColourOps f, Num a) => AlphaColour a -> f a -> f a darken :: (ColourOps f, Num a) => a -> f a -> f a -- | Returns an AlphaColour more transparent by a factor of -- o. dissolve :: (Num a) => a -> AlphaColour a -> AlphaColour a -- | c1 `atop` c2 returns the AlphaColour produced by -- covering the portion of c2 visible by c1. The -- resulting alpha channel is always the same as the alpha channel of -- c2. -- --
--   c1 `atop` (opaque c2) == c1 `over` (opaque c2)
--   AlphaChannel (c1 `atop` c2) == AlphaChannel c2
--   
atop :: (Fractional a) => AlphaColour a -> AlphaColour a -> AlphaColour a module Data.Colour.RGBSpace -- | An RGB triple for an unspecified colour space. data RGB a RGB :: !a -> !a -> !a -> RGB a channelRed :: RGB a -> !a channelGreen :: RGB a -> !a channelBlue :: RGB a -> !a -- | Uncurries a function expecting three r, g, b parameters. uncurryRGB :: (a -> a -> a -> b) -> RGB a -> b -- | Curries a function expecting one RGB parameter. curryRGB :: (RGB a -> b) -> a -> a -> a -> b -- | 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 -> RGB 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 -> RGB a -- | Return the sRGB colour components in the range [0..1]. toSRGB :: (Ord b, Floating b) => Colour b -> RGB 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 :: (Ord b, Floating b) => ReadS (Colour b) -- | Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff" sRGB24read :: (Ord b, Floating b) => String -> (Colour b) -- | Names for colours. Names taken from SVG 1.1 specification, -- http://www.w3.org/TR/SVG11/types.html#ColorKeywords. -- -- readColourName takes a string naming a colour (must be all -- lowercase) and returns the colour. Fails if the name is not -- recognized. module Data.Colour.Names readColourName :: (Monad m, Ord a, Floating a) => String -> m (Colour a) 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 darkgray :: (Ord a, Floating a) => Colour a darkgreen :: (Ord a, Floating a) => Colour a darkgrey :: (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 darkslategray :: (Ord a, Floating a) => Colour a darkslategrey :: (Ord a, Floating a) => Colour a darkturquoise :: (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 dimgray :: (Ord a, Floating a) => Colour a dimgrey :: (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 gray :: (Ord a, Floating a) => Colour a grey :: (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 lightgray :: (Ord a, Floating a) => Colour a lightgreen :: (Ord a, Floating a) => Colour a lightgrey :: (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 lightslategray :: (Ord a, Floating a) => Colour a lightslategrey :: (Ord a, Floating a) => Colour a lightsteelblue :: (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 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 slategray :: (Ord a, Floating a) => Colour a slategrey :: (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