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.RGBA

Description

RGBA quadruples for an unspecified colour space

Synopsis

Documentation

type Colour = RGBA Float #

An RGBA colour value.

data RGBA a #

An RGBA colour value to hold the colour components. All components lie in the range [0..1).

We need to parameterise by a type so that we can have both Exp (RGBA a) and RGBA (Exp a).

Constructors

RGBA a a a a 

Instances

Functor RGBA # 

Methods

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

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

Elt a => IsProduct Elt (RGBA a) # 

Associated Types

type ProdRepr (RGBA a) :: *

Methods

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

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

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

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

Associated Types

type Plain (RGBA a) :: * #

Methods

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

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

Methods

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

Eq a => Eq (RGBA a) # 

Methods

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

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

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

Methods

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

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

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

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

Methods

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

recip :: RGBA a -> RGBA a #

fromRational :: Rational -> RGBA a #

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

Methods

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

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

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

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

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

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

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

Num a => Num (RGBA a) # 

Methods

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

(-) :: RGBA a -> RGBA a -> RGBA a #

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

negate :: RGBA a -> RGBA a #

abs :: RGBA a -> RGBA a #

signum :: RGBA a -> RGBA a #

fromInteger :: Integer -> RGBA a #

Show a => Show (RGBA a) # 

Methods

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

show :: RGBA a -> String #

showList :: [RGBA a] -> ShowS #

Elt a => Elt (RGBA a) # 

Methods

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

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

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

NamedColour (RGBA Float) # 

Methods

antiqueWhite :: RGBA Float #

azure :: RGBA Float #

bisque :: RGBA Float #

blanchedAlmond :: RGBA Float #

cornsilk :: RGBA Float #

eggshell :: RGBA Float #

floralWhite :: RGBA Float #

gainsboro :: RGBA Float #

ghostWhite :: RGBA Float #

honeydew :: RGBA Float #

ivory :: RGBA Float #

lavender :: RGBA Float #

lavenderBlush :: RGBA Float #

lemonChiffon :: RGBA Float #

linen :: RGBA Float #

mintCream :: RGBA Float #

mistyRose :: RGBA Float #

moccasin :: RGBA Float #

navajoWhite :: RGBA Float #

oldLace :: RGBA Float #

papayaWhip :: RGBA Float #

peachPuff :: RGBA Float #

seashell :: RGBA Float #

snow :: RGBA Float #

thistle :: RGBA Float #

titaniumWhite :: RGBA Float #

wheat :: RGBA Float #

white :: RGBA Float #

whiteSmoke :: RGBA Float #

zincWhite :: RGBA Float #

coldGrey :: RGBA Float #

dimGrey :: RGBA Float #

grey :: RGBA Float #

lightGrey :: RGBA Float #

slateGrey :: RGBA Float #

slateGreyDark :: RGBA Float #

slateGreyLight :: RGBA Float #

warmGrey :: RGBA Float #

black :: RGBA Float #

ivoryBlack :: RGBA Float #

lampBlack :: RGBA Float #

alizarinCrimson :: RGBA Float #

brick :: RGBA Float #

cadmiumRedDeep :: RGBA Float #

coral :: RGBA Float #

coralLight :: RGBA Float #

deepPink :: RGBA Float #

englishRed :: RGBA Float #

firebrick :: RGBA Float #

geraniumLake :: RGBA Float #

hotPink :: RGBA Float #

indianRed :: RGBA Float #

lightSalmon :: RGBA Float #

madderLakeDeep :: RGBA Float #

maroon :: RGBA Float #

pink :: RGBA Float #

pinkLight :: RGBA Float #

raspberry :: RGBA Float #

red :: RGBA Float #

roseMadder :: RGBA Float #

salmon :: RGBA Float #

tomato :: RGBA Float #

venetianRed :: RGBA Float #

beige :: RGBA Float #

brown :: RGBA Float #

brownMadder :: RGBA Float #

brownOchre :: RGBA Float #

burlywood :: RGBA Float #

burntSienna :: RGBA Float #

burntUmber :: RGBA Float #

chocolate :: RGBA Float #

deepOchre :: RGBA Float #

flesh :: RGBA Float #

fleshOchre :: RGBA Float #

goldOchre :: RGBA Float #

greenishUmber :: RGBA Float #

khaki :: RGBA Float #

khakiDark :: RGBA Float #

lightBeige :: RGBA Float #

peru :: RGBA Float #

rosyBrown :: RGBA Float #

rawSienna :: RGBA Float #

rawUmber :: RGBA Float #

sepia :: RGBA Float #

sienna :: RGBA Float #

saddleBrown :: RGBA Float #

sandyBrown :: RGBA Float #

tan :: RGBA Float #

vanDykeBrown :: RGBA Float #

cadmiumOrange :: RGBA Float #

cadmiumRedLight :: RGBA Float #

carrot :: RGBA Float #

darkOrange :: RGBA Float #

marsOrange :: RGBA Float #

marsYellow :: RGBA Float #

orange :: RGBA Float #

orangeRed :: RGBA Float #

yellowOchre :: RGBA Float #

aureolineYellow :: RGBA Float #

banana :: RGBA Float #

cadmiumLemon :: RGBA Float #

cadmiumYellow :: RGBA Float #

gold :: RGBA Float #

goldenrod :: RGBA Float #

goldenrodDark :: RGBA Float #

goldenrodLight :: RGBA Float #

goldenrodPale :: RGBA Float #

lightGoldenrod :: RGBA Float #

melon :: RGBA Float #

naplesYellowDeep :: RGBA Float #

yellow :: RGBA Float #

yellowLight :: RGBA Float #

chartreuse :: RGBA Float #

chromeoxideGreen :: RGBA Float #

cinnabarGreen :: RGBA Float #

cobaltGreen :: RGBA Float #

emeraldGreen :: RGBA Float #

forestGreen :: RGBA Float #

green :: RGBA Float #

greenDark :: RGBA Float #

greenPale :: RGBA Float #

greenYellow :: RGBA Float #

lawnGreen :: RGBA Float #

limeGreen :: RGBA Float #

mint :: RGBA Float #

olive :: RGBA Float #

oliveDrab :: RGBA Float #

oliveGreenDark :: RGBA Float #

permanentGreen :: RGBA Float #

sapGreen :: RGBA Float #

seaGreen :: RGBA Float #

seaGreenDark :: RGBA Float #

seaGreenMedium :: RGBA Float #

seaGreenLight :: RGBA Float #

springGreen :: RGBA Float #

springGreenMedium :: RGBA Float #

terreVerte :: RGBA Float #

viridianLight :: RGBA Float #

yellowGreen :: RGBA Float #

aquamarine :: RGBA Float #

aquamarineMedium :: RGBA Float #

cyan :: RGBA Float #

cyanWhite :: RGBA Float #

turquoise :: RGBA Float #

turquoiseDark :: RGBA Float #

turquoiseMedium :: RGBA Float #

turquoisePale :: RGBA Float #

aliceBlue :: RGBA Float #

blue :: RGBA Float #

blueLight :: RGBA Float #

blueMedium :: RGBA Float #

cadet :: RGBA Float #

cobalt :: RGBA Float #

cornflower :: RGBA Float #

cerulean :: RGBA Float #

dodgerBlue :: RGBA Float #

indigo :: RGBA Float #

manganeseBlue :: RGBA Float #

midnightBlue :: RGBA Float #

navy :: RGBA Float #

peacock :: RGBA Float #

powderBlue :: RGBA Float #

royalBlue :: RGBA Float #

slateBlue :: RGBA Float #

slateBlueDark :: RGBA Float #

slateBlueLight :: RGBA Float #

slateBlueMedium :: RGBA Float #

skyBlue :: RGBA Float #

skyBlueDeep :: RGBA Float #

skyBlueLight :: RGBA Float #

steelBlue :: RGBA Float #

steelBlueLight :: RGBA Float #

turquoiseBlue :: RGBA Float #

ultramarine :: RGBA Float #

blueViolet :: RGBA Float #

cobaltVioletDeep :: RGBA Float #

magenta :: RGBA Float #

orchid :: RGBA Float #

orchidDark :: RGBA Float #

orchidMedium :: RGBA Float #

permanentViolet :: RGBA Float #

plum :: RGBA Float #

purple :: RGBA Float #

purpleMedium :: RGBA Float #

ultramarineViolet :: RGBA Float #

violet :: RGBA Float #

violetDark :: RGBA Float #

violetRed :: RGBA Float #

violetRedMedium :: RGBA Float #

violetRedPale :: RGBA Float #

NamedColour (RGBA Word8) # 

Methods

antiqueWhite :: RGBA Word8 #

azure :: RGBA Word8 #

bisque :: RGBA Word8 #

blanchedAlmond :: RGBA Word8 #

cornsilk :: RGBA Word8 #

eggshell :: RGBA Word8 #

floralWhite :: RGBA Word8 #

gainsboro :: RGBA Word8 #

ghostWhite :: RGBA Word8 #

honeydew :: RGBA Word8 #

ivory :: RGBA Word8 #

lavender :: RGBA Word8 #

lavenderBlush :: RGBA Word8 #

lemonChiffon :: RGBA Word8 #

linen :: RGBA Word8 #

mintCream :: RGBA Word8 #

mistyRose :: RGBA Word8 #

moccasin :: RGBA Word8 #

navajoWhite :: RGBA Word8 #

oldLace :: RGBA Word8 #

papayaWhip :: RGBA Word8 #

peachPuff :: RGBA Word8 #

seashell :: RGBA Word8 #

snow :: RGBA Word8 #

thistle :: RGBA Word8 #

titaniumWhite :: RGBA Word8 #

wheat :: RGBA Word8 #

white :: RGBA Word8 #

whiteSmoke :: RGBA Word8 #

zincWhite :: RGBA Word8 #

coldGrey :: RGBA Word8 #

dimGrey :: RGBA Word8 #

grey :: RGBA Word8 #

lightGrey :: RGBA Word8 #

slateGrey :: RGBA Word8 #

slateGreyDark :: RGBA Word8 #

slateGreyLight :: RGBA Word8 #

warmGrey :: RGBA Word8 #

black :: RGBA Word8 #

ivoryBlack :: RGBA Word8 #

lampBlack :: RGBA Word8 #

alizarinCrimson :: RGBA Word8 #

brick :: RGBA Word8 #

cadmiumRedDeep :: RGBA Word8 #

coral :: RGBA Word8 #

coralLight :: RGBA Word8 #

deepPink :: RGBA Word8 #

englishRed :: RGBA Word8 #

firebrick :: RGBA Word8 #

geraniumLake :: RGBA Word8 #

hotPink :: RGBA Word8 #

indianRed :: RGBA Word8 #

lightSalmon :: RGBA Word8 #

madderLakeDeep :: RGBA Word8 #

maroon :: RGBA Word8 #

pink :: RGBA Word8 #

pinkLight :: RGBA Word8 #

raspberry :: RGBA Word8 #

red :: RGBA Word8 #

roseMadder :: RGBA Word8 #

salmon :: RGBA Word8 #

tomato :: RGBA Word8 #

venetianRed :: RGBA Word8 #

beige :: RGBA Word8 #

brown :: RGBA Word8 #

brownMadder :: RGBA Word8 #

brownOchre :: RGBA Word8 #

burlywood :: RGBA Word8 #

burntSienna :: RGBA Word8 #

burntUmber :: RGBA Word8 #

chocolate :: RGBA Word8 #

deepOchre :: RGBA Word8 #

flesh :: RGBA Word8 #

fleshOchre :: RGBA Word8 #

goldOchre :: RGBA Word8 #

greenishUmber :: RGBA Word8 #

khaki :: RGBA Word8 #

khakiDark :: RGBA Word8 #

lightBeige :: RGBA Word8 #

peru :: RGBA Word8 #

rosyBrown :: RGBA Word8 #

rawSienna :: RGBA Word8 #

rawUmber :: RGBA Word8 #

sepia :: RGBA Word8 #

sienna :: RGBA Word8 #

saddleBrown :: RGBA Word8 #

sandyBrown :: RGBA Word8 #

tan :: RGBA Word8 #

vanDykeBrown :: RGBA Word8 #

cadmiumOrange :: RGBA Word8 #

cadmiumRedLight :: RGBA Word8 #

carrot :: RGBA Word8 #

darkOrange :: RGBA Word8 #

marsOrange :: RGBA Word8 #

marsYellow :: RGBA Word8 #

orange :: RGBA Word8 #

orangeRed :: RGBA Word8 #

yellowOchre :: RGBA Word8 #

aureolineYellow :: RGBA Word8 #

banana :: RGBA Word8 #

cadmiumLemon :: RGBA Word8 #

cadmiumYellow :: RGBA Word8 #

gold :: RGBA Word8 #

goldenrod :: RGBA Word8 #

goldenrodDark :: RGBA Word8 #

goldenrodLight :: RGBA Word8 #

goldenrodPale :: RGBA Word8 #

lightGoldenrod :: RGBA Word8 #

melon :: RGBA Word8 #

naplesYellowDeep :: RGBA Word8 #

yellow :: RGBA Word8 #

yellowLight :: RGBA Word8 #

chartreuse :: RGBA Word8 #

chromeoxideGreen :: RGBA Word8 #

cinnabarGreen :: RGBA Word8 #

cobaltGreen :: RGBA Word8 #

emeraldGreen :: RGBA Word8 #

forestGreen :: RGBA Word8 #

green :: RGBA Word8 #

greenDark :: RGBA Word8 #

greenPale :: RGBA Word8 #

greenYellow :: RGBA Word8 #

lawnGreen :: RGBA Word8 #

limeGreen :: RGBA Word8 #

mint :: RGBA Word8 #

olive :: RGBA Word8 #

oliveDrab :: RGBA Word8 #

oliveGreenDark :: RGBA Word8 #

permanentGreen :: RGBA Word8 #

sapGreen :: RGBA Word8 #

seaGreen :: RGBA Word8 #

seaGreenDark :: RGBA Word8 #

seaGreenMedium :: RGBA Word8 #

seaGreenLight :: RGBA Word8 #

springGreen :: RGBA Word8 #

springGreenMedium :: RGBA Word8 #

terreVerte :: RGBA Word8 #

viridianLight :: RGBA Word8 #

yellowGreen :: RGBA Word8 #

aquamarine :: RGBA Word8 #

aquamarineMedium :: RGBA Word8 #

cyan :: RGBA Word8 #

cyanWhite :: RGBA Word8 #

turquoise :: RGBA Word8 #

turquoiseDark :: RGBA Word8 #

turquoiseMedium :: RGBA Word8 #

turquoisePale :: RGBA Word8 #

aliceBlue :: RGBA Word8 #

blue :: RGBA Word8 #

blueLight :: RGBA Word8 #

blueMedium :: RGBA Word8 #

cadet :: RGBA Word8 #

cobalt :: RGBA Word8 #

cornflower :: RGBA Word8 #

cerulean :: RGBA Word8 #

dodgerBlue :: RGBA Word8 #

indigo :: RGBA Word8 #

manganeseBlue :: RGBA Word8 #

midnightBlue :: RGBA Word8 #

navy :: RGBA Word8 #

peacock :: RGBA Word8 #

powderBlue :: RGBA Word8 #

royalBlue :: RGBA Word8 #

slateBlue :: RGBA Word8 #

slateBlueDark :: RGBA Word8 #

slateBlueLight :: RGBA Word8 #

slateBlueMedium :: RGBA Word8 #

skyBlue :: RGBA Word8 #

skyBlueDeep :: RGBA Word8 #

skyBlueLight :: RGBA Word8 #

steelBlue :: RGBA Word8 #

steelBlueLight :: RGBA Word8 #

turquoiseBlue :: RGBA Word8 #

ultramarine :: RGBA Word8 #

blueViolet :: RGBA Word8 #

cobaltVioletDeep :: RGBA Word8 #

magenta :: RGBA Word8 #

orchid :: RGBA Word8 #

orchidDark :: RGBA Word8 #

orchidMedium :: RGBA Word8 #

permanentViolet :: RGBA Word8 #

plum :: RGBA Word8 #

purple :: RGBA Word8 #

purpleMedium :: RGBA Word8 #

ultramarineViolet :: RGBA Word8 #

violet :: RGBA Word8 #

violetDark :: RGBA Word8 #

violetRed :: RGBA Word8 #

violetRedMedium :: RGBA Word8 #

violetRedPale :: RGBA Word8 #

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

rgba #

Arguments

:: Exp Float

red component

-> Exp Float

green component

-> Exp Float

blue component

-> Exp Float

alpha component

-> Exp Colour 

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

rgba8 #

Arguments

:: Exp Word8

red component

-> Exp Word8

green component

-> Exp Word8

blue component

-> Exp Word8

alpha component

-> Exp Colour 

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

clamp :: Exp Colour -> Exp Colour #

Clamp each component 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).

opacity :: Exp Float -> Exp Colour -> Exp Colour #

Set the opacity of the given colour. The opacity is clamped to the range [0..1].

opaque :: Exp Colour -> Exp Colour #

A completely opaque colour

transparent :: Exp Colour -> Exp Colour #

Make colour transparent

packRGBA :: Exp Colour -> Exp Word32 #

Convert a Colour into a packed-word RGBA representation

packABGR :: Exp Colour -> Exp Word32 #

Convert a colour into a packed-word ABGR representation

unpackRGBA :: Exp Word32 -> Exp Colour #

Convert a colour from a packed-word RGBA representation

unpackABGR :: Exp Word32 -> Exp Colour #

Convert a colour from a packed-word ABGR representation