colour-accelerate-0.2.0.0: Working with colours in Accelerate

Copyright[2016] Trevor L. McDonell
LicenseBSD3
MaintainerTrevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.Array.Accelerate.Data.Colour.RGB

Description

RGB triples for an unspecified colour space

Synopsis

Documentation

type Colour = RGB Float #

An RGB colour value

data RGB a #

Constructors

RGB a a a 

Instances

Functor RGB # 

Methods

fmap :: (a -> b) -> RGB a -> RGB b #

(<$) :: a -> RGB b -> RGB a #

Elt a => IsProduct Elt (RGB a) # 

Associated Types

type ProdRepr (RGB a) :: *

Methods

fromProd :: proxy Elt -> RGB a -> ProdRepr (RGB a)

toProd :: proxy Elt -> ProdRepr (RGB a) -> RGB a

prod :: proxy Elt -> RGB a -> ProdR Elt (ProdRepr (RGB a))

(Lift Exp a, Elt (Plain a)) => Lift Exp (RGB a) # 

Associated Types

type Plain (RGB a) :: * #

Methods

lift :: RGB a -> Exp (Plain (RGB a)) #

Elt a => Unlift Exp (RGB (Exp a)) # 

Methods

unlift :: Exp (Plain (RGB (Exp a))) -> RGB (Exp a) #

Eq a => Eq (RGB a) # 

Methods

(==) :: RGB a -> RGB a -> Bool #

(/=) :: RGB a -> RGB a -> Bool #

Fractional a => Fractional (Exp (RGB a)) # 

Methods

(/) :: Exp (RGB a) -> Exp (RGB a) -> Exp (RGB a) #

recip :: Exp (RGB a) -> Exp (RGB a) #

fromRational :: Rational -> Exp (RGB a) #

(Num a, Fractional a) => Fractional (RGB a) # 

Methods

(/) :: RGB a -> RGB a -> RGB a #

recip :: RGB a -> RGB a #

fromRational :: Rational -> RGB a #

Num a => Num (Exp (RGB a)) # 

Methods

(+) :: Exp (RGB a) -> Exp (RGB a) -> Exp (RGB a) #

(-) :: Exp (RGB a) -> Exp (RGB a) -> Exp (RGB a) #

(*) :: Exp (RGB a) -> Exp (RGB a) -> Exp (RGB a) #

negate :: Exp (RGB a) -> Exp (RGB a) #

abs :: Exp (RGB a) -> Exp (RGB a) #

signum :: Exp (RGB a) -> Exp (RGB a) #

fromInteger :: Integer -> Exp (RGB a) #

Num a => Num (RGB a) # 

Methods

(+) :: RGB a -> RGB a -> RGB a #

(-) :: RGB a -> RGB a -> RGB a #

(*) :: RGB a -> RGB a -> RGB a #

negate :: RGB a -> RGB a #

abs :: RGB a -> RGB a #

signum :: RGB a -> RGB a #

fromInteger :: Integer -> RGB a #

Show a => Show (RGB a) # 

Methods

showsPrec :: Int -> RGB a -> ShowS #

show :: RGB a -> String #

showList :: [RGB a] -> ShowS #

Elt a => Elt (RGB a) # 

Methods

eltType :: RGB a -> TupleType (EltRepr (RGB a))

fromElt :: RGB a -> EltRepr (RGB a)

toElt :: EltRepr (RGB a) -> RGB a

NamedColour (RGB Float) # 

Methods

antiqueWhite :: RGB Float #

azure :: RGB Float #

bisque :: RGB Float #

blanchedAlmond :: RGB Float #

cornsilk :: RGB Float #

eggshell :: RGB Float #

floralWhite :: RGB Float #

gainsboro :: RGB Float #

ghostWhite :: RGB Float #

honeydew :: RGB Float #

ivory :: RGB Float #

lavender :: RGB Float #

lavenderBlush :: RGB Float #

lemonChiffon :: RGB Float #

linen :: RGB Float #

mintCream :: RGB Float #

mistyRose :: RGB Float #

moccasin :: RGB Float #

navajoWhite :: RGB Float #

oldLace :: RGB Float #

papayaWhip :: RGB Float #

peachPuff :: RGB Float #

seashell :: RGB Float #

snow :: RGB Float #

thistle :: RGB Float #

titaniumWhite :: RGB Float #

wheat :: RGB Float #

white :: RGB Float #

whiteSmoke :: RGB Float #

zincWhite :: RGB Float #

coldGrey :: RGB Float #

dimGrey :: RGB Float #

grey :: RGB Float #

lightGrey :: RGB Float #

slateGrey :: RGB Float #

slateGreyDark :: RGB Float #

slateGreyLight :: RGB Float #

warmGrey :: RGB Float #

black :: RGB Float #

ivoryBlack :: RGB Float #

lampBlack :: RGB Float #

alizarinCrimson :: RGB Float #

brick :: RGB Float #

cadmiumRedDeep :: RGB Float #

coral :: RGB Float #

coralLight :: RGB Float #

deepPink :: RGB Float #

englishRed :: RGB Float #

firebrick :: RGB Float #

geraniumLake :: RGB Float #

hotPink :: RGB Float #

indianRed :: RGB Float #

lightSalmon :: RGB Float #

madderLakeDeep :: RGB Float #

maroon :: RGB Float #

pink :: RGB Float #

pinkLight :: RGB Float #

raspberry :: RGB Float #

red :: RGB Float #

roseMadder :: RGB Float #

salmon :: RGB Float #

tomato :: RGB Float #

venetianRed :: RGB Float #

beige :: RGB Float #

brown :: RGB Float #

brownMadder :: RGB Float #

brownOchre :: RGB Float #

burlywood :: RGB Float #

burntSienna :: RGB Float #

burntUmber :: RGB Float #

chocolate :: RGB Float #

deepOchre :: RGB Float #

flesh :: RGB Float #

fleshOchre :: RGB Float #

goldOchre :: RGB Float #

greenishUmber :: RGB Float #

khaki :: RGB Float #

khakiDark :: RGB Float #

lightBeige :: RGB Float #

peru :: RGB Float #

rosyBrown :: RGB Float #

rawSienna :: RGB Float #

rawUmber :: RGB Float #

sepia :: RGB Float #

sienna :: RGB Float #

saddleBrown :: RGB Float #

sandyBrown :: RGB Float #

tan :: RGB Float #

vanDykeBrown :: RGB Float #

cadmiumOrange :: RGB Float #

cadmiumRedLight :: RGB Float #

carrot :: RGB Float #

darkOrange :: RGB Float #

marsOrange :: RGB Float #

marsYellow :: RGB Float #

orange :: RGB Float #

orangeRed :: RGB Float #

yellowOchre :: RGB Float #

aureolineYellow :: RGB Float #

banana :: RGB Float #

cadmiumLemon :: RGB Float #

cadmiumYellow :: RGB Float #

gold :: RGB Float #

goldenrod :: RGB Float #

goldenrodDark :: RGB Float #

goldenrodLight :: RGB Float #

goldenrodPale :: RGB Float #

lightGoldenrod :: RGB Float #

melon :: RGB Float #

naplesYellowDeep :: RGB Float #

yellow :: RGB Float #

yellowLight :: RGB Float #

chartreuse :: RGB Float #

chromeoxideGreen :: RGB Float #

cinnabarGreen :: RGB Float #

cobaltGreen :: RGB Float #

emeraldGreen :: RGB Float #

forestGreen :: RGB Float #

green :: RGB Float #

greenDark :: RGB Float #

greenPale :: RGB Float #

greenYellow :: RGB Float #

lawnGreen :: RGB Float #

limeGreen :: RGB Float #

mint :: RGB Float #

olive :: RGB Float #

oliveDrab :: RGB Float #

oliveGreenDark :: RGB Float #

permanentGreen :: RGB Float #

sapGreen :: RGB Float #

seaGreen :: RGB Float #

seaGreenDark :: RGB Float #

seaGreenMedium :: RGB Float #

seaGreenLight :: RGB Float #

springGreen :: RGB Float #

springGreenMedium :: RGB Float #

terreVerte :: RGB Float #

viridianLight :: RGB Float #

yellowGreen :: RGB Float #

aquamarine :: RGB Float #

aquamarineMedium :: RGB Float #

cyan :: RGB Float #

cyanWhite :: RGB Float #

turquoise :: RGB Float #

turquoiseDark :: RGB Float #

turquoiseMedium :: RGB Float #

turquoisePale :: RGB Float #

aliceBlue :: RGB Float #

blue :: RGB Float #

blueLight :: RGB Float #

blueMedium :: RGB Float #

cadet :: RGB Float #

cobalt :: RGB Float #

cornflower :: RGB Float #

cerulean :: RGB Float #

dodgerBlue :: RGB Float #

indigo :: RGB Float #

manganeseBlue :: RGB Float #

midnightBlue :: RGB Float #

navy :: RGB Float #

peacock :: RGB Float #

powderBlue :: RGB Float #

royalBlue :: RGB Float #

slateBlue :: RGB Float #

slateBlueDark :: RGB Float #

slateBlueLight :: RGB Float #

slateBlueMedium :: RGB Float #

skyBlue :: RGB Float #

skyBlueDeep :: RGB Float #

skyBlueLight :: RGB Float #

steelBlue :: RGB Float #

steelBlueLight :: RGB Float #

turquoiseBlue :: RGB Float #

ultramarine :: RGB Float #

blueViolet :: RGB Float #

cobaltVioletDeep :: RGB Float #

magenta :: RGB Float #

orchid :: RGB Float #

orchidDark :: RGB Float #

orchidMedium :: RGB Float #

permanentViolet :: RGB Float #

plum :: RGB Float #

purple :: RGB Float #

purpleMedium :: RGB Float #

ultramarineViolet :: RGB Float #

violet :: RGB Float #

violetDark :: RGB Float #

violetRed :: RGB Float #

violetRedMedium :: RGB Float #

violetRedPale :: RGB Float #

NamedColour (RGB Word8) # 

Methods

antiqueWhite :: RGB Word8 #

azure :: RGB Word8 #

bisque :: RGB Word8 #

blanchedAlmond :: RGB Word8 #

cornsilk :: RGB Word8 #

eggshell :: RGB Word8 #

floralWhite :: RGB Word8 #

gainsboro :: RGB Word8 #

ghostWhite :: RGB Word8 #

honeydew :: RGB Word8 #

ivory :: RGB Word8 #

lavender :: RGB Word8 #

lavenderBlush :: RGB Word8 #

lemonChiffon :: RGB Word8 #

linen :: RGB Word8 #

mintCream :: RGB Word8 #

mistyRose :: RGB Word8 #

moccasin :: RGB Word8 #

navajoWhite :: RGB Word8 #

oldLace :: RGB Word8 #

papayaWhip :: RGB Word8 #

peachPuff :: RGB Word8 #

seashell :: RGB Word8 #

snow :: RGB Word8 #

thistle :: RGB Word8 #

titaniumWhite :: RGB Word8 #

wheat :: RGB Word8 #

white :: RGB Word8 #

whiteSmoke :: RGB Word8 #

zincWhite :: RGB Word8 #

coldGrey :: RGB Word8 #

dimGrey :: RGB Word8 #

grey :: RGB Word8 #

lightGrey :: RGB Word8 #

slateGrey :: RGB Word8 #

slateGreyDark :: RGB Word8 #

slateGreyLight :: RGB Word8 #

warmGrey :: RGB Word8 #

black :: RGB Word8 #

ivoryBlack :: RGB Word8 #

lampBlack :: RGB Word8 #

alizarinCrimson :: RGB Word8 #

brick :: RGB Word8 #

cadmiumRedDeep :: RGB Word8 #

coral :: RGB Word8 #

coralLight :: RGB Word8 #

deepPink :: RGB Word8 #

englishRed :: RGB Word8 #

firebrick :: RGB Word8 #

geraniumLake :: RGB Word8 #

hotPink :: RGB Word8 #

indianRed :: RGB Word8 #

lightSalmon :: RGB Word8 #

madderLakeDeep :: RGB Word8 #

maroon :: RGB Word8 #

pink :: RGB Word8 #

pinkLight :: RGB Word8 #

raspberry :: RGB Word8 #

red :: RGB Word8 #

roseMadder :: RGB Word8 #

salmon :: RGB Word8 #

tomato :: RGB Word8 #

venetianRed :: RGB Word8 #

beige :: RGB Word8 #

brown :: RGB Word8 #

brownMadder :: RGB Word8 #

brownOchre :: RGB Word8 #

burlywood :: RGB Word8 #

burntSienna :: RGB Word8 #

burntUmber :: RGB Word8 #

chocolate :: RGB Word8 #

deepOchre :: RGB Word8 #

flesh :: RGB Word8 #

fleshOchre :: RGB Word8 #

goldOchre :: RGB Word8 #

greenishUmber :: RGB Word8 #

khaki :: RGB Word8 #

khakiDark :: RGB Word8 #

lightBeige :: RGB Word8 #

peru :: RGB Word8 #

rosyBrown :: RGB Word8 #

rawSienna :: RGB Word8 #

rawUmber :: RGB Word8 #

sepia :: RGB Word8 #

sienna :: RGB Word8 #

saddleBrown :: RGB Word8 #

sandyBrown :: RGB Word8 #

tan :: RGB Word8 #

vanDykeBrown :: RGB Word8 #

cadmiumOrange :: RGB Word8 #

cadmiumRedLight :: RGB Word8 #

carrot :: RGB Word8 #

darkOrange :: RGB Word8 #

marsOrange :: RGB Word8 #

marsYellow :: RGB Word8 #

orange :: RGB Word8 #

orangeRed :: RGB Word8 #

yellowOchre :: RGB Word8 #

aureolineYellow :: RGB Word8 #

banana :: RGB Word8 #

cadmiumLemon :: RGB Word8 #

cadmiumYellow :: RGB Word8 #

gold :: RGB Word8 #

goldenrod :: RGB Word8 #

goldenrodDark :: RGB Word8 #

goldenrodLight :: RGB Word8 #

goldenrodPale :: RGB Word8 #

lightGoldenrod :: RGB Word8 #

melon :: RGB Word8 #

naplesYellowDeep :: RGB Word8 #

yellow :: RGB Word8 #

yellowLight :: RGB Word8 #

chartreuse :: RGB Word8 #

chromeoxideGreen :: RGB Word8 #

cinnabarGreen :: RGB Word8 #

cobaltGreen :: RGB Word8 #

emeraldGreen :: RGB Word8 #

forestGreen :: RGB Word8 #

green :: RGB Word8 #

greenDark :: RGB Word8 #

greenPale :: RGB Word8 #

greenYellow :: RGB Word8 #

lawnGreen :: RGB Word8 #

limeGreen :: RGB Word8 #

mint :: RGB Word8 #

olive :: RGB Word8 #

oliveDrab :: RGB Word8 #

oliveGreenDark :: RGB Word8 #

permanentGreen :: RGB Word8 #

sapGreen :: RGB Word8 #

seaGreen :: RGB Word8 #

seaGreenDark :: RGB Word8 #

seaGreenMedium :: RGB Word8 #

seaGreenLight :: RGB Word8 #

springGreen :: RGB Word8 #

springGreenMedium :: RGB Word8 #

terreVerte :: RGB Word8 #

viridianLight :: RGB Word8 #

yellowGreen :: RGB Word8 #

aquamarine :: RGB Word8 #

aquamarineMedium :: RGB Word8 #

cyan :: RGB Word8 #

cyanWhite :: RGB Word8 #

turquoise :: RGB Word8 #

turquoiseDark :: RGB Word8 #

turquoiseMedium :: RGB Word8 #

turquoisePale :: RGB Word8 #

aliceBlue :: RGB Word8 #

blue :: RGB Word8 #

blueLight :: RGB Word8 #

blueMedium :: RGB Word8 #

cadet :: RGB Word8 #

cobalt :: RGB Word8 #

cornflower :: RGB Word8 #

cerulean :: RGB Word8 #

dodgerBlue :: RGB Word8 #

indigo :: RGB Word8 #

manganeseBlue :: RGB Word8 #

midnightBlue :: RGB Word8 #

navy :: RGB Word8 #

peacock :: RGB Word8 #

powderBlue :: RGB Word8 #

royalBlue :: RGB Word8 #

slateBlue :: RGB Word8 #

slateBlueDark :: RGB Word8 #

slateBlueLight :: RGB Word8 #

slateBlueMedium :: RGB Word8 #

skyBlue :: RGB Word8 #

skyBlueDeep :: RGB Word8 #

skyBlueLight :: RGB Word8 #

steelBlue :: RGB Word8 #

steelBlueLight :: RGB Word8 #

turquoiseBlue :: RGB Word8 #

ultramarine :: RGB Word8 #

blueViolet :: RGB Word8 #

cobaltVioletDeep :: RGB Word8 #

magenta :: RGB Word8 #

orchid :: RGB Word8 #

orchidDark :: RGB Word8 #

orchidMedium :: RGB Word8 #

permanentViolet :: RGB Word8 #

plum :: RGB Word8 #

purple :: RGB Word8 #

purpleMedium :: RGB Word8 #

ultramarineViolet :: RGB Word8 #

violet :: RGB Word8 #

violetDark :: RGB Word8 #

violetRed :: RGB Word8 #

violetRedMedium :: RGB Word8 #

violetRedPale :: RGB Word8 #

type EltRepr (RGB a) # 
type EltRepr (RGB a) = EltRepr (a, a, a)
type ProdRepr (RGB a) # 
type ProdRepr (RGB a) = ((((), a), a), a)
type Plain (RGB a) # 
type Plain (RGB a) = RGB (Plain a)

rgb #

Arguments

:: Exp Float

red component

-> Exp Float

green component

-> Exp Float

blue component

-> Exp Colour 

Construct an RGB colour from individual channel components. The components will be clamped to the range [0..1].

rgb8 #

Arguments

:: Exp Word8

red component

-> Exp Word8

green component

-> Exp Word8

blue component

-> Exp Colour 

Construct a colour from 8-bit-per-channel colour components.

clamp :: Exp Colour -> Exp Colour #

Clamp each component of a colour to the range [0..1].

blend #

Arguments

:: Exp Float

Proportion of first colour

-> Exp Float

Proportion of second colour

-> Exp Colour

First colour

-> Exp Colour

Second colour

-> Exp Colour

Resulting colour

Blend two colours in the given proportions.

Note that this uses an approximation of gamma=2 (i.e. sum-of-squares method). It is recommended to instead convert to the sRGB colour space if you want more accurate colour blending, or if you intend to use the gamma-corrected values more than once (e.g. in a stencil).

blend c1 c2 ~= SRGB.toRGB ( (SRGB.fromRGB c1 + SRGB.fromRGB c2) / 2 )

See the Blur program in the examples for a comparison of mixing colours in the RGB and sRGB colour spaces.

luminance :: Exp Colour -> Exp Float #

Luminance of an RGB colour (Y component of a YUV colour).

packRGB :: Exp Colour -> Exp Word32 #

Convert a Colour into a packed-word RGBA representation

packBGR :: Exp Colour -> Exp Word32 #

Convert a colour into a packed-word ABGR representation

unpackRGB :: Exp Word32 -> Exp Colour #

Convert a colour from a packed-word RGBA representation

unpackBGR :: Exp Word32 -> Exp Colour #

Convert a colour from a packed-word ABGR representation