TColor256Util Class Reference

class TColor256Util

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

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()
Public Attributes
TUint32 iColorTable
TUint8 iInverseColorTable

Member Functions 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

TRgb aRgbThe conversion colour.

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

TUint8 * aDestinationOn return, a pointer to a buffer containing the entries from the inverse colour lookup table.
const TRgb * aSourcePointer to the first TRgb value to match.
TInt 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

TInt aColor256The index into the colour lookup table.

Construct(const CPalette &)

IMPORT_C voidConstruct(const CPalette &aPalette)

Initialises the two lookup tables using the specified palette.

Parameters

const CPalette & 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.

Member Data Documentation

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

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