<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Data.Colour.RGBSpace</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_Data-Colour-RGBSpace.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >colour-2.3.1: A model for human colour/color perception</TD ><TD CLASS="topbut" ><A HREF="src/Data-Colour-RGBSpace.html" >Source code</A ></TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Data.Colour.RGBSpace</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><B >Contents</B ></TD ></TR ><TR ><TD ><DL ><DT ><A HREF="#1" >RGB Tuple </A ></DT ><DT ><A HREF="#2" >RGB Gamut </A ></DT ><DT ><A HREF="#3" >RGB Space </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >An <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A ></TT > is characterized by <TT ><A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A ></TT > for red, green, and blue, the <TT ><A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A ></TT > of the white point, and it's <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AColour" >Colour</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ARGB" >RGB</A > a = <A HREF="#v%3ARGB" >RGB</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AchannelRed" >channelRed</A > :: !a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AchannelGreen" >channelGreen</A > :: !a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AchannelBlue" >channelBlue</A > :: !a</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AuncurryRGB" >uncurryRGB</A > :: (a -> a -> a -> b) -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurryRGB" >curryRGB</A > :: (<A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a -> b) -> a -> a -> a -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ARGBGamut" >RGBGamut</A > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkRGBGamut" >mkRGBGamut</A > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > (<A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A >) -> <A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aprimaries" >primaries</A > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > (<A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwhitePoint" >whitePoint</A > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinGamut" >inGamut</A > :: (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Ord.html#t%3AOrd" >Ord</A > a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a) => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ATransferFunction" >TransferFunction</A > a = <A HREF="#v%3ATransferFunction" >TransferFunction</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Atransfer" >transfer</A > :: a -> a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AtransferInverse" >transferInverse</A > :: a -> a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AtransferGamma" >transferGamma</A > :: a</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlinearTransferFunction" >linearTransferFunction</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ANum" >Num</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApowerTransferFunction" >powerTransferFunction</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFloating" >Floating</A > a => a -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinverseTransferFunction" >inverseTransferFunction</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ARGBSpace" >RGBSpace</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkRGBSpace" >mkRGBSpace</A > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Agamut" >gamut</A > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtransferFunction" >transferFunction</A > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlinearRGBSpace" >linearRGBSpace</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ANum" >Num</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArgbUsingSpace" >rgbUsingSpace</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> a -> a -> a -> <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtoRGBUsingSpace" >toRGBUsingSpace</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Colour" ><A NAME="t%3AColour" ></A ></A ><B >Colour</B > a </TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-Internal.html#Colour" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >This type represents the human preception of colour. The <TT >a</TT > parameter is a numeric type used internally for the representation. </P ><P >The <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Monoid.html#t%3AMonoid" >Monoid</A ></TT > instance allows one to add colours, but beware that adding colours can take you out of gamut. Consider using <TT ><A HREF="Data-Colour.html#v%3Ablend" >blend</A ></TT > whenever possible. </P ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Colour')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Colour" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Data-Colour.html#t%3AColourOps" >ColourOps</A > <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Colour.html#t%3AAffineSpace" >AffineSpace</A > <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq" >Eq</A > (<A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Read.html#t%3ARead" >Read</A > a) => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Read.html#t%3ARead" >Read</A > (<A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Show.html#t%3AShow" >Show</A > (<A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ANum" >Num</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Monoid.html#t%3AMonoid" >Monoid</A > (<A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >RGB Tuple </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:RGB" ><A NAME="t%3ARGB" ></A ></A ><B >RGB</B > a </TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGB.html#RGB" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >An RGB triple for an unspecified colour space. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:RGB" ><A NAME="v%3ARGB" ></A ></A ><B >RGB</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:channelRed" ><A NAME="v%3AchannelRed" ></A ></A ><B >channelRed</B > :: !a</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:channelGreen" ><A NAME="v%3AchannelGreen" ></A ></A ><B >channelGreen</B > :: !a</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:channelBlue" ><A NAME="v%3AchannelBlue" ></A ></A ><B >channelBlue</B > :: !a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RGB')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:RGB" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Control-Monad.html#t%3AFunctor" >Functor</A > <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Control-Applicative.html#t%3AApplicative" >Applicative</A > <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq" >Eq</A > (<A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Read.html#t%3ARead" >Read</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Read.html#t%3ARead" >Read</A > (<A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Show.html#t%3AShow" >Show</A > (<A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:uncurryRGB" ><A NAME="v%3AuncurryRGB" ></A ></A ><B >uncurryRGB</B > :: (a -> a -> a -> b) -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a -> b</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGB.html#uncurryRGB" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Uncurries a function expecting three r, g, b parameters. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:curryRGB" ><A NAME="v%3AcurryRGB" ></A ></A ><B >curryRGB</B > :: (<A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a -> b) -> a -> a -> a -> b</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGB.html#curryRGB" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Curries a function expecting one RGB parameter. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="2" ><A NAME="2" >RGB Gamut </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:RGBGamut" ><A NAME="t%3ARGBGamut" ></A ></A ><B >RGBGamut</B > </TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGB.html#RGBGamut" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >An <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TT > 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 Data.Colour.CIE.luminance 1. </TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RGBGamut')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:RGBGamut" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Read.html#t%3ARead" >Read</A > <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Show.html#t%3AShow" >Show</A > <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkRGBGamut" ><A NAME="v%3AmkRGBGamut" ></A ></A ><B >mkRGBGamut</B ></TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGB.html#mkRGBGamut" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > (<A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A >)</TD ><TD CLASS="rdoc" >The three primaries </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A ></TD ><TD CLASS="rdoc" >The white point </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="ndoc" COLSPAN="2" >An RGB gamut is specified by three primary colours (red, green, and blue) and a white point (often Data.Colour.CIE.Illuminant.d65). </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:primaries" ><A NAME="v%3Aprimaries" ></A ></A ><B >primaries</B > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > (<A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A >)</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGB.html#primaries" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:whitePoint" ><A NAME="v%3AwhitePoint" ></A ></A ><B >whitePoint</B > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-CIE.html#t%3AChromaticity" >Chromaticity</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ARational" >Rational</A ></TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGB.html#whitePoint" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:inGamut" ><A NAME="v%3AinGamut" ></A ></A ><B >inGamut</B > :: (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Ord.html#t%3AOrd" >Ord</A > a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a) => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#inGamut" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Returns <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#v%3ATrue" >True</A ></TT > if the given colour lies inside the given gamut. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="3" ><A NAME="3" >RGB Space </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:TransferFunction" ><A NAME="t%3ATransferFunction" ></A ></A ><B >TransferFunction</B > a </TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#TransferFunction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >A <TT ><A HREF="Data-Colour-RGBSpace.html#v%3Atransfer" >transfer</A ></TT > function is a function that typically translates linear colour space coordinates into non-linear coordinates. The <TT ><A HREF="Data-Colour-RGBSpace.html#v%3AtransferInverse" >transferInverse</A ></TT > function reverses this by translating non-linear colour space coordinates into linear coordinates. It is required that </P ><PRE > transfer . transferInverse === id === transferInverse . inverse </PRE ><P >(or that this law holds up to floating point rounding errors). </P ><P >We also require that <TT ><A HREF="Data-Colour-RGBSpace.html#v%3Atransfer" >transfer</A ></TT > is approximately <TT >(**transferGamma)</TT > (and hence <TT ><A HREF="Data-Colour-RGBSpace.html#v%3AtransferInverse" >transferInverse</A ></TT > is approximately <TT >(**(recip transferGamma))</TT >). The value <TT ><A HREF="Data-Colour-RGBSpace.html#v%3AtransferGamma" >transferGamma</A ></TT > is for informational purposes only, so there is no bound on how good this approximation needs to be. </P ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:TransferFunction" ><A NAME="v%3ATransferFunction" ></A ></A ><B >TransferFunction</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:transfer" ><A NAME="v%3Atransfer" ></A ></A ><B >transfer</B > :: a -> a</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:transferInverse" ><A NAME="v%3AtransferInverse" ></A ></A ><B >transferInverse</B > :: a -> a</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:transferGamma" ><A NAME="v%3AtransferGamma" ></A ></A ><B >transferGamma</B > :: a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TransferFunction')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:TransferFunction" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ANum" >Num</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Monoid.html#t%3AMonoid" >Monoid</A > (<A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:linearTransferFunction" ><A NAME="v%3AlinearTransferFunction" ></A ></A ><B >linearTransferFunction</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ANum" >Num</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#linearTransferFunction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >This is the identity <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:powerTransferFunction" ><A NAME="v%3ApowerTransferFunction" ></A ></A ><B >powerTransferFunction</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFloating" >Floating</A > a => a -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#powerTransferFunction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >This is the <TT >(**gamma)</TT > <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:inverseTransferFunction" ><A NAME="v%3AinverseTransferFunction" ></A ></A ><B >inverseTransferFunction</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#inverseTransferFunction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >This reverses a <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:RGBSpace" ><A NAME="t%3ARGBSpace" ></A ></A ><B >RGBSpace</B > a </TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#RGBSpace" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >An <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A ></TT > is a colour coordinate system for colours laying <TT ><A HREF="Data-Colour-RGBSpace.html#v%3AinGamut" >inGamut</A ></TT > of <TT ><A HREF="Data-Colour-RGBSpace.html#v%3Agamut" >gamut</A ></TT >. Linear coordinates are passed through a <TT ><A HREF="Data-Colour-RGBSpace.html#v%3AtransferFunction" >transferFunction</A ></TT > to produce non-linear <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A ></TT > values. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkRGBSpace" ><A NAME="v%3AmkRGBSpace" ></A ></A ><B >mkRGBSpace</B > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#mkRGBSpace" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >An RGBSpace is specified by an <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TT > and a <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:gamut" ><A NAME="v%3Agamut" ></A ></A ><B >gamut</B > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#gamut" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:transferFunction" ><A NAME="v%3AtransferFunction" ></A ></A ><B >transferFunction</B > :: <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ATransferFunction" >TransferFunction</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#transferFunction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:linearRGBSpace" ><A NAME="v%3AlinearRGBSpace" ></A ></A ><B >linearRGBSpace</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3ANum" >Num</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A > -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#linearRGBSpace" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Produce a linear colour space from an <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGBGamut" >RGBGamut</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:rgbUsingSpace" ><A NAME="v%3ArgbUsingSpace" ></A ></A ><B >rgbUsingSpace</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> a -> a -> a -> <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#rgbUsingSpace" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a <TT ><A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A ></TT > from red, green, and blue coordinates given in a general <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:toRGBUsingSpace" ><A NAME="v%3AtoRGBUsingSpace" ></A ></A ><B >toRGBUsingSpace</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AFractional" >Fractional</A > a => <A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A > a -> <A HREF="Data-Colour-RGBSpace.html#t%3ARGB" >RGB</A > a</TD ><TD CLASS="declbut" ><A HREF="src/Data-Colour-RGBSpace.html#toRGBUsingSpace" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Return the coordinates of a given <TT ><A HREF="Data-Colour-RGBSpace.html#t%3AColour" >Colour</A ></TT > for a general <TT ><A HREF="Data-Colour-RGBSpace.html#t%3ARGBSpace" >RGBSpace</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.0</TD ></TR ></TABLE ></BODY ></HTML >