c      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm n o p q r s t u v w x y z { | } ~   Safe Safe                 Safe c1 `over` c2 returns the  created by compositing the  c1 over c2, which may be either a  or . darken s c: blends a colour with black without changing it's opacity.For , darken s c = blend s c memptysCompute a affine Combination (weighted-average) of points. The last parameter will get the remaining weight. e.g. 9affineCombo [(0.2,a), (0.3,b)] c == 0.2*a + 0.3*b + 0.5*cWeights can be negative, or greater than 1.0; however, be aware that non-convex combinations may lead to out of gamut colours.This type represents a  that may be semi-transparent.The * instance allows you to composite colours. x `mappend` y == x `over` y1To get the (pre-multiplied) colour channel of an  c, simply composite c over black. c `over` black:This type represents the human preception of colour. The aE parameter is a numeric type used internally for the representation.The p instance allows one to add colours, but beware that adding colours can take you out of gamut. Consider using  whenever possible.9Change the type used to represent the colour coordinates. This ? is entirely transparent and has no associated colour channel. 9Change the type used to represent the colour coordinates. Creates an opaque  from a .  Returns an ! more transparent by a factor of o.  Creates an  from a  with a given opacity. +c `withOpacity` o == dissolve o (opaque c) 1Compute the weighted average of two points. e.g. blend 0.4 a b = 0.4*a + 0.6*bThe weight can be negative, or greater than 1.0; however, be aware that non-convex combinations may lead to out of gamut colours. c1 `atop` c2 returns the & produced by covering the portion of c2 visible by c1K. 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 c2s and then clamps x between 0 and .Returns the opacity of an .Returns the colour of an . colourChannel transparent is undefined and may result in nanB or an error. Its use is discouraged. If you are desperate, use 0darken (recip (alphaChannel c)) (c `over` black) forms a monoid with  and  .&  !"#$%   !"#$% Safe Constructs  from the CIE little x , little y; coordinates for the 2 standard (colourimetric) observer.Returns the CIE little x , little y , little z; coordinates for the 2 standard (colourimetric) observer.Returns the CIE little x: coordinate for the 2 standard (colourimetric) observer.Returns the CIE little y: coordinate for the 2 standard (colourimetric) observer.Returns the CIE little z: coordinate for the 2 standard (colourimetric) observer.?Change the type used to represent the chromaticity coordinates. &'()* &'( &'()*SafeIncandescent / Tungsten"{obsolete} Direct sunlight at noon'{obsolete} Average / North sky DaylightHorizon Light. ICC profile PCS$Mid-morning / Mid-afternoon Daylight+Noon Daylight: Television, sRGB color spaceNorth sky Daylight Equal energy Daylight Fluorescent!Cool White Fluorescent"White Fluorescent#Warm White Fluorescent$Daylight Fluorescent%Lite White Fluorescent&!D65 simulator, Daylight simulator'%D50 simulator, Sylvania F40 Design 50(Cool White Deluxe Fluorescent)Philips TL85, Ultralume 50*Philips TL84, Ultralume 40+Philips TL83, Ultralume 30 !"#$%&'()*+ !"#$%&'()*+ !"#$%&'()*+ !"#$%&'()*+Safe,An , is a 3-D colour cube  that contains all the colours that can be displayed by a RGB device. The cube  is normalized so that white has  1./.An RGB triple for an unspecified colour space.48Uncurries a function expecting three r, g, b parameters.5/Curries a function expecting one RGB parameter.6eAn RGB gamut is specified by three primary colours (red, green, and blue) and a white point (often ).7The 7 coordinate of an /> value is in degrees. Its value is always in the range 0-360.,+-./0123456The three primariesThe white point,-./701234,+-./0123456,-./70,+-./0123456,-./701234Safe8=Returns the HSL (hue-saturation-lightness) coordinates of an / triple. See 7, 9, and :.9(Returns the saturation coordinate of an /V triple for the HSL (hue-saturation-lightness) system. Note: This is different from  for the Data.Colour.RGBSpace.HSV:'Returns the lightness coordinate of an /7 triple for the HSL (hue-saturation-lightness) system.;9Convert HSL (hue-saturation-lightness) coordinates to an /3 value. Hue is expected to be measured in degrees.89:;/789:;/879:;89:;Safe<9Returns the HSV (hue-saturation-value) coordinates of an / triple. See 7, =, and >.=(Returns the saturation coordinate of an /R triple for the HSV (hue-saturation-value) system. Note: This is different from  for the Data.Colour.RGBSpace.HSL>#Returns the value coordinate of an /3 triple for the HSV (hue-saturation-value) system.?5Convert HSV (hue-saturation-value) coordinates to an /3 value. Hue is expected to be measured in degrees.<=>?/7<=>?/<7=>?<=>?Safe@ Constructs a  from RGB values using the linear) RGB colour with the same gamut as sRGB.AReturn RGB values using the linear) RGB colour with the same gamut as sRGB.B,This is the gamut for the sRGB colour space.@AB /0123@AB /0123@AB@ABSafe CAn C3 is a colour coordinate system for colours laying K of D+. Linear coordinates are passed through a E to produce non-linear / values.FA Hu function is a function that typically translates linear colour space coordinates into non-linear coordinates. The Iy function reverses this by translating non-linear colour space coordinates into linear coordinates. It is required that ?transfer . transferInverse === id === transferInverse . inverse>(or that this law holds up to floating point rounding errors).We also require that H is approximately (**transferGamma) (and hence I is approximately (**(recip transferGamma))). The value Jf is for informational purposes only, so there is no bound on how good this approximation needs to be.KReturns 51 if the given colour lies inside the given gamut.LThis is the identity F.M This is the  (**gamma) F.NThis reverses a F.OAn RGBSpace is specified by an , and a F.P&Produce a linear colour space from an ,.Q Create a ; from red, green, and blue coordinates given in a general C.R"Return the coordinates of a given  for a general C.C6DEFGHIJK789LMNOPQRST,.-/0123456CEDFGHIJKLMNOPQR /012345,-.6-.KFGHIJLMNCDEODEPQRC6DEFGHIJK789LMNOPQRSTSafe UhConstruct a colour from an sRGB specification. Input components are expected to be in the range [0..1].VeConstruct a colour from an sRGB specification. Input components are expected to be in the range [0..].WIConstruct a colour from a 24-bit (three 8-bit words) sRGB specification.X6Return the sRGB colour components in the range [0..1].Y@Return the approximate sRGB colour components in the range [0..$]. Out of range values are clamped.ZrReturn the approximate 24-bit sRGB colour components as three 8-bit components. Out of range values are clamped.[1Show a colour in hexadecimal form, e.g. "#00aaff"\1Show a colour in hexadecimal form, e.g. "#00aaff"]=Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff"^=Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff"_The sRGB colour space :;UVWXYZ[\]^_/0123UVWXYZ[\]^_/0123WVUZYX[\]^_ :;UVWXYZ[\]^_Safe<=`abc   <=`abcSafed Construct a D from XYZ coordinates for the 2 standard (colourimetric) observer.eQReturns the XYZ colour coordinates for the 2 standard (colourimetric) observer.gZReturns the Y colour coordinate (luminance) for the 2 standard (colourimetric) observer.h#Constructs a colour from the given  and g.itReturns the lightness of a colour with respect to a given white point. Lightness is a perceptually uniform measure.jtReturns the CIELAB coordinates of a colour, which is a perceptually uniform colour space. The first coordinate is i3. If you don't know what white point to use, use .kReturns the colour for given CIELAB coordinates, which is a perceptually uniform colour space. If you don't know what white point to use, use .>Returns the CIELUV coordinates of a colour, which is a perceptually uniform colour space. If you don't know what white point to use, use . defghgi White pointj White pointk White pointL* coordinate (lightness) a* coordinate b* coordinate> White point?@Aldefghijkdegfhijk defghijk>?@Al Safemnopqrstuvwxyz{|}~mnopqrstuvwxyz{|}~mnopqrstuvwxyz{|}~mnopqrstuvwxyz{|}~B               ! " # $ % & ' ( )*+,-./0123456789:;<=>?@@ABCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstIuvw x y z { | } ~                              ! " " @ # # $ $ % % & ' ( ) * + , - . / 0 1 2=3456789:;<=>Q?@ASBCDEFGHI#colour-2.3.4-Ea5u6v6eyBiFPYOJLx0tkh Data.ColourData.Colour.RGBSpaceData.Colour.CIEData.Colour.CIE.IlluminantData.Colour.RGBSpace.HSLData.Colour.RGBSpace.HSVData.Colour.SRGB.LinearData.Colour.SRGBData.Colour.NamesData.Colour.MatrixData.Colour.ChanData.Colour.InternalData.Colour.CIE.ChromaticityData.Colour.RGB luminanced65 saturation ColourOpsoverdarken AffineSpace affineCombo AlphaColourColour colourConvertblack transparentalphaColourConvertopaquedissolve withOpacityblendatop alphaChannel ChromaticitymkChromaticity chromaCoordschromaXchromaYchromaZ chromaConvertabcd50d55d75ef1f2f3f4f5f6f7f8f9f10f11f12RGBGamut primaries whitePointRGB channelRed channelGreen channelBlue uncurryRGBcurryRGB mkRGBGamuthuehslView lightnesshslhsvViewvaluehsvrgbtoRGB sRGBGamutRGBSpacegamuttransferFunctionTransferFunctiontransfertransferInverse transferGammainGamutlinearTransferFunctionpowerTransferFunctioninverseTransferFunction mkRGBSpacelinearRGBSpace rgbUsingSpacetoRGBUsingSpace$fMonoidTransferFunction$fSemigroupTransferFunctionsRGB sRGBBoundedsRGB24toSRGB toSRGBBoundedtoSRGB24 sRGB24shows sRGB24show sRGB24reads sRGB24read sRGBSpace$fReadAlphaColour$fShowAlphaColour $fReadColour $fShowColourcieXYZ cieXYZViewtoCIEXYZ chromaColour cieLABViewcieLAB$fAffineSpaceChromaticityreadColourName aliceblue antiquewhiteaqua aquamarineazurebeigebisqueblanchedalmondblue bluevioletbrown burlywood cadetblue chartreuse chocolatecoralcornflowerbluecornsilkcrimsoncyandarkbluedarkcyan darkgoldenroddarkgray darkgreendarkgrey darkkhaki darkmagentadarkolivegreen darkorange darkorchiddarkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkvioletdeeppink deepskybluedimgraydimgrey dodgerblue firebrick floralwhite forestgreenfuchsia gainsboro ghostwhitegold goldenrodgraygreygreen greenyellowhoneydewhotpink indianredindigoivorykhakilavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyanlightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskybluelightslategraylightslategreylightsteelblue lightyellowlime limegreenlinenmagentamaroonmediumaquamarine mediumblue mediumorchid mediumpurplemediumseagreenmediumslatebluemediumspringgreenmediumturquoisemediumvioletred midnightblue mintcream mistyrosemoccasin navajowhitenavyoldlaceolive olivedraborange orangeredorchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuffperupinkplum powderbluepurplered rosybrown royalblue saddlebrownsalmon sandybrownseagreenseashellsiennasilverskyblue slateblue slategray slategreysnow springgreen steelbluetantealthistletomato turquoisevioletwheatwhite whitesmokeyellow yellowgreeninverse determinantmult matrixMultChanemptyfullscaleaddinvertconvertsumbaseGHC.BaseMonoidquantizeGHC.RealroundGHC.EnummaxBound colourChannel$fSemigroupAlphaColourRGBAAlphaBlueGreenRedrgbaAdd$fMonoidAlphaColour$fColourOpsAlphaColour$fColourOpsColour$fAffineSpaceAlphaColour$fAffineSpaceColour$fMonoidColour$fSemigroupColourChromaapp_prec infix_prec$fReadChromaticity$fShowChromaticity primaryMatrixrgb2xyzxyz2rgbhslsvmod1$fReadRGBGamut$fShowRGBGamut$fApplicativeRGB $fFunctorRGBghc-prim GHC.TypesTruertf rgbUsingGamuttoRGBUsingGamutinvTransferFunctionlinearConstructorQualifiedNamelinearConstructorNamecieLuvu'v' rgb7092xyz xyz2rgb709