colour-2.3.4: A model for human colour/color perception

Safe HaskellSafe
LanguageHaskell98

Data.Colour.SRGB

Description

Specifies Colours in accordance with the sRGB standard.

Synopsis

Documentation

data Colour a Source #

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.

Instances

ColourOps Colour Source # 

Methods

over :: Num a => AlphaColour a -> Colour a -> Colour a Source #

darken :: Num a => a -> Colour a -> Colour a Source #

AffineSpace Colour Source # 

Methods

affineCombo :: Num a => [(a, Colour a)] -> Colour a -> Colour a Source #

Eq a => Eq (Colour a) Source # 

Methods

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

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

Num a => Semigroup (Colour a) Source # 

Methods

(<>) :: Colour a -> Colour a -> Colour a #

sconcat :: NonEmpty (Colour a) -> Colour a #

stimes :: Integral b => b -> Colour a -> Colour a #

Num a => Monoid (Colour a) Source # 

Methods

mempty :: Colour a #

mappend :: Colour a -> Colour a -> Colour a #

mconcat :: [Colour a] -> Colour a #

data RGB a Source #

An RGB triple for an unspecified colour space.

Constructors

RGB 

Fields

Instances

Functor RGB Source # 

Methods

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

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

Applicative RGB Source # 

Methods

pure :: a -> RGB a #

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

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

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

Eq a => Eq (RGB a) Source # 

Methods

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

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

Read a => Read (RGB a) Source # 
Show a => Show (RGB a) Source # 

Methods

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

show :: RGB a -> String #

showList :: [RGB a] -> ShowS #

sRGB24 :: (Ord b, Floating b) => Word8 -> Word8 -> Word8 -> Colour b Source #

Construct a colour from a 24-bit (three 8-bit words) sRGB specification.

sRGBBounded :: (Ord b, Floating b, Integral a, Bounded a) => a -> a -> a -> Colour b Source #

Construct a colour from an sRGB specification. Input components are expected to be in the range [0..maxBound].

sRGB :: (Ord b, Floating b) => b -> b -> b -> Colour b Source #

Construct a colour from an sRGB specification. Input components are expected to be in the range [0..1].

toSRGB24 :: (RealFrac b, Floating b) => Colour b -> RGB Word8 Source #

Return the approximate 24-bit sRGB colour components as three 8-bit components. Out of range values are clamped.

toSRGBBounded :: (RealFrac b, Floating b, Integral a, Bounded a) => Colour b -> RGB a Source #

Return the approximate sRGB colour components in the range [0..maxBound]. Out of range values are clamped.

toSRGB :: (Ord b, Floating b) => Colour b -> RGB b Source #

Return the sRGB colour components in the range [0..1].

sRGB24shows :: (RealFrac b, Floating b) => Colour b -> ShowS Source #

Show a colour in hexadecimal form, e.g. "#00aaff"

sRGB24show :: (RealFrac b, Floating b) => Colour b -> String Source #

Show a colour in hexadecimal form, e.g. "#00aaff"

sRGB24reads :: (Ord b, Floating b) => ReadS (Colour b) Source #

Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff"

sRGB24read :: (Ord b, Floating b) => String -> Colour b Source #

Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff"

sRGBSpace :: (Ord a, Floating a) => RGBSpace a Source #

The sRGB colour space