Location:
txtfrmat.h
Link against: etext.lib
TLogicalRgb
Supported from 6.0
Provides support for system colours, in addition to literal colours, in text formatting.
The base class TRgb
stores the 24-bit literal colour
value using a TUint32
. TLogicalRgb
uses the unused
(top) byte as an 8-bit index. The purpose of the index is to allow applications
to use logical colours. If the index is zero, the value is not a logical
colour; it is treated as an ordinary TRgb
value. If the index is
non zero (1-255), the colour should be translated by the application into a
system colour. Indices 254 and 255 are reserved for the system foreground and
background colours, respectively and should be translated into them.
Translation from index to RGB colour occurs in the implementation of
MFormParam::SystemColor()
.
All colours in the Text and text attributes API are stored using
TLogicalRgb
values and are initialised to either
TLogicalRgb::ESystemForegroundColor
or
TLogicalRgb::ESystemBackgroundColor
.
This system allows an application to set its text colours once,
perhaps using the system-wide colour scheme, rather than having to set the
colours each time a text object is created. It is also compatible with legacy
code which expects TRgb
rather than TLogicalRgb
values — for example, the logical foreground and background
colours have their bottom three bytes filled with black and white respectively
so that code which expects TRgb
values can still use them.
|
Defined in TLogicalRgb
:
Anonymous
, ESystemBackgroundColor
, ESystemBackgroundIndex
, ESystemForegroundColor
, ESystemForegroundIndex
, SetSystemColorIndex()
, SystemColorIndex()
, TLogicalRgb()
, TSystemColor
Inherited from TRgb
:
Blue()
,
Color16()
,
Color16M()
,
Color256()
,
Color4K()
,
Color64K()
,
Difference()
,
ExternalizeL()
,
Gray16()
,
Gray2()
,
Gray256()
,
Gray4()
,
Green()
,
InternalizeL()
,
Red()
,
SetBlue()
,
SetGreen()
,
SetRed()
,
Value()
,
operator!=()
,
operator&()
,
operator&=()
,
operator==()
,
operator^()
,
operator^=()
,
operator|()
,
operator|=()
,
operator~()
TLogicalRgb(TUint32 aValue)
Constructs the object with a 32-bit integer. The index is stored
in the top byte. A TRgb
value may be stored in the bottom three
bytes.
|
TLogicalRgb(TSystemColor aValue)
Constructs the object with a TSystemColor
value.
|
TUint SystemColorIndex() const
Returns the logical colour's index value. Zero indicates that the value
is not a logical colour; it is an ordinary TRgb
value. 254 and 255
indicate the system foreground and background colours, respectively.
|
void SetSystemColorIndex(TUint aIndex)
Sets the logical colour's index value.
|
Anonymous
Miscellaneous constants.
|
TSystemColor
Used to construct TLogicalRgb
objects which should use
either the system foreground or background colour.
|