gloss-accelerate-1.8.15.0: Extras to interface Gloss and Accelerate

Safe HaskellNone
LanguageHaskell2010

Graphics.Gloss.Accelerate.Data.Color.RGB

Contents

Description

Colours without an alpha component

Synopsis

Color data type

type Color = RGB Float Source

An abstract color value.

We keep the type abstract so we can be sure that the components are in the required range. To make a custom color use makeColor.

data RGB a Source

Same as RGBA, but colours don't have an alpha component. All components like in the range [0..1).

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

Constructors

RGB a a a 

Instances

Elt a => Unlift Exp (RGB (Exp a)) 
(Lift Exp a, Elt (Plain a)) => Lift Exp (RGB a) 
Eq a => Eq (RGB a) 
(Elt a, IsNum a) => Num (Exp (RGB a)) 
Num a => Num (RGB a) 
Show a => Show (RGB a) 
Elt a => Elt (RGB a) 
IsTuple (RGB a) 
Typeable (* -> *) RGB 
type Plain (RGB a) = RGB (Plain a) 
type EltRepr (RGB a) = EltRepr (a, a, a) 
type EltRepr' (RGB a) = EltRepr (a, a, a) 
type TupleRepr (RGB a) = ((((), a), a), a) 

makeColor Source

Arguments

:: Exp Float

Red component.

-> Exp Float

Green component.

-> Exp Float

Blue component.

-> Exp Color 

Make a custom color. All components are clamped to the range [0..1].

makeColor8 Source

Arguments

:: Exp Word8

Red component.

-> Exp Word8

Green component.

-> Exp Word8

Blue component.

-> Exp Color 

Make a custom color from 8-bit values.

rawColor :: Exp Float -> Exp Float -> Exp Float -> Exp Color Source

Make a custom color. You promise that all components are clamped to the range [0..1]

rgbOfColor :: Exp Color -> (Exp Float, Exp Float, Exp Float) Source

Take the RGB components of a color.

packRGBA :: Exp Color -> Exp Word32 Source

Convert a color into a packed RGBA value.

packABGR :: Exp Color -> Exp Word32 Source

Convert a colour into a packed BGRA value.

This is necessary as OpenGL reads pixel data as ABGR, rather than RGBA.

clampColor :: Exp Color -> Exp Color Source

Clamp components of a color into the required range.

Color functions

mixColors Source

Arguments

:: Exp Float

Ratio of first color.

-> Exp Float

Ratio of second color.

-> Exp Color

First color.

-> Exp Color

Second color.

-> Exp Color

Resulting color.

Mix two colors with the given ratios.

addColors :: Exp Color -> Exp Color -> Exp Color Source

Add RGB components of a color component-wise, then normalise them to the highest resulting one. The alpha components are averaged.

dim :: Exp Color -> Exp Color Source

Make a dimmer version of a color, scaling towards black.

brighten :: Exp Color -> Exp Color Source

Make a brighter version of a color, scaling towards white.

lighten :: Exp Color -> Exp Color Source

Lighten a color, adding white.

darken :: Exp Color -> Exp Color Source

Darken a color, adding black.

Pre-defined colors

greyN Source

Arguments

:: Exp Float

Range is 0 = black, to 1 = white.

-> Exp Color 

A greyness of a given magnitude.

Primary

Secondary

Tertiary