|
|
|
class TColor256Util;
Enables conversion, in both directions, between a TRgb object and an index into an arbitrary 256 colour palette.
Defined in TColor256Util:
Color256(TInt)constGets the TRgb value of the entry at the specified index in the colour lookup tab...Color256(TRgb)constGets the entry from the inverse colour lookup table for the colour that most clo...Color256(TUint8 *,const TRgb *,TInt)constGets the entries from the inverse colour lookup table for the colours that most ...Construct(const CPalette &)Initialises the two lookup tables using the specified palette.Default()Returns a pointer to the system default 256 colour palette.iColorTable256 colour lookup table.iInverseColorTableInverse colour lookup table.IMPORT_C void Construct(const CPalette &aPalette);
Initialises the two lookup tables using the specified palette.
|
IMPORT_C TInt Color256(TRgb aRgb) 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.
|
|
IMPORT_C void Color256(TUint8 *aDestination, const TRgb *aSource, TInt aNumPixels) const;
Gets the entries from the inverse colour lookup table for the colours that most closely match the specified TRgb values.
|
inline TRgb Color256(TInt aColor256) const;
Gets the TRgb value of the entry at the specified index in the colour lookup table.
|
|
IMPORT_C static const TColor256Util* Default();
Returns a pointer to the system default 256 colour palette.
|
TUint32 iColorTable[256];
256 colour lookup table.
Each entry is a 32 bit value which corresponds to a TRgb value in the palette passed to TColor256Util::Construct(const CPalette &). 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[0x1000];
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 TColor256Util::Construct(const CPalette &)) 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.