TColor256Util Class Reference

#include <gdi.h>

Link against: gdi.lib

class TColor256Util
Public Attributes
TUint32 iColorTable
TUint8 iInverseColorTable
Public Member Functions
IMPORT_C TIntColor256(TRgb)
IMPORT_C voidColor256(TUint8 *, const TRgb *, TInt)
TRgb Color256(TInt)
IMPORT_C voidConstruct(const CPalette &)
IMPORT_C const TColor256Util *Default()

Detailed Description

Enables conversion, in both directions, between a TRgb object and an index into an arbitrary 256 colour palette.

Member Attribute Documentation

iColorTable

TUint32 iColorTable

256 colour lookup table.

Each entry is a 32 bit value which corresponds to a TRgb value in the palette passed to Construct(). If there are more than 256 colours in the palette, the first 256 colours are used in this table. If there are fewer than 256 entries, the remaining entries in the table are set to zero.

iInverseColorTable

TUint8 iInverseColorTable

Inverse colour lookup table.

It has 4096 entries. Each entry is the index of a colour in the palette that the object was created with (see Construct()) that most closely matches the 4096 degrees of intensity of red, green and blue on a uniform 16x16x16 colour cube.

It is called "inverse" because iColorTable maps indices (0..255) to TRgb values, but this table maps TRgb values to palette indices.

Member Function Documentation

Color256 ( TRgb )

IMPORT_C TIntColor256(TRgbaRgb)const

Gets the entry from the inverse colour lookup table for the colour that most closely matches the specified TRgb value.

Entries in the inverse colour lookup table are indices into the palette that the object was created with. Essentially, this function matches aRgb to the index of the nearest colour in the palette.

Parameters
aRgbThe conversion colour.
Return Value
The index of the nearest colour to aRgb in the palette.

Color256 ( TUint8 *, const TRgb *, TInt )

IMPORT_C voidColor256(TUint8 *aDestination,
const TRgb *aSource,
TIntaNumPixels
)const

Gets the entries from the inverse colour lookup table for the colours that most closely match the specified TRgb values.

Parameters
aDestinationOn return, a pointer to a buffer containing the entries from the inverse colour lookup table.
aSourcePointer to the first TRgb value to match.
aNumPixelsThe number of TRgb values to match.

Color256 ( TInt )

TRgb Color256(TIntaColor256)const [inline]

Gets the TRgb value of the entry at the specified index in the colour lookup table.

Parameters
aColor256The index into the colour lookup table.
Return Value
The TRgb value of the entry at the specified index.

Construct ( const CPalette & )

IMPORT_C voidConstruct(const CPalette &aPalette)

Initialises the two lookup tables using the specified palette.

Parameters
aPaletteThe palette of colours used to initialise the colour lookup tables.

Default ( )

IMPORT_C const TColor256Util *Default()[static]

Returns a pointer to the system default 256 colour palette.

Return Value
Pointer to the system default 256 colour palette.