»
Symbian OS v6.1 Edition for C++ »
API Reference »
Text and Text Attributes »
CCharFormatLayer
Location:
txtfmlyr.h
Link against: etext.lib
CCharFormatLayer
Support
Supported from 5.0
Description
A character format layer. Uses a pointer (stored in its base class
CFormatLayer
) to another character format layer which may be NULL.
This pointer is referred to as the based-on link. A character format layer is
owned by an instance of the CGlobalText
class and stores the
object's global character formatting. Implements persistence and allows
attributes to be set and sensed.
Derivation
CBase | Base class for all classes to be instantiated on the heap |
CCharFormatLayer | A character format layer |
CFormatLayer | Abstract base class for the paragraph and character format layers (CParaFormatLayer and CCharFormatLayer) |
|
Defined in CCharFormatLayer
:
CloneL()
, ExternalizeL()
, InternalizeL()
, IsIdentical()
, NewL()
, Ptr()
, Sense()
, SenseEffective()
, SetL()
Inherited from CBase
:
operator new()
Inherited from CFormatLayer
:
ChainCount()
,
ExternalizeChainL()
,
InternalizeChainL()
,
IsEmpty()
,
Reset()
,
SenseBase()
,
SetBase()
Construction
static CCharFormatLayer* NewL();
Description
Allocates and constructs an empty
CCharFormatLayer
. Its based-on link is NULL.
Notes
Use SetL()
to set format attributes in the layer.
Use SetBase()
, defined in the base class
CFormatLayer
, to set the layer’s based on link.
Return value
CCharFormatLayer* |
Pointer to the new character format layer. |
|
static CCharFormatLayer* NewL(const TCharFormat& aFormat,const TCharFormatMask& aMask);
Description
Allocates and constructs a CCharFormatLayer
. The
attributes which are set in the mask are initialised in the layer to the values
specified in the format container aFormat
. The attributes which
are not set in the mask are initialised to the default values for class
TCharFormat
. The new layer's based-on link is set to NULL.
Parameters
const TCharFormat& aFormat |
Contains the attribute values to assign to the format layer.
|
const TCharFormatMask& aMask |
Mask specifying which attributes should be initialized from
aFormat . |
|
Return value
CCharFormatLayer* |
Pointer to the new character format layer. |
|
static CCharFormatLayer* NewL(RReadStream& aStream);
Description
Allocates and constructs a CCharFormatLayer
, restoring
its format attributes from a stream. The layer's based-on link is set to
NULL.
Parameters
RReadStream& aStream |
Stream from which the layer is restored. |
|
Return value
CCharFormatLayer* |
Pointer to the new character format layer. |
|
void SetL(const TCharFormat& aCharFormat,const TCharFormatMask& aMask);
Description
Sets the layer's format attributes. The attributes which are set in
the mask are set in the layer to the values specified in the format container
aCharFormat
. The attributes which are not set in the mask are not
changed.
Parameters
const TCharFormat& aCharFormat |
Contains the attribute values to assign to the format layer. |
const TCharFormatMask& aMask |
Mask specifying which attributes should be set from
aCharFormat . |
|
virtual void SenseEffective(TCharFormat& aCharFormat)const;
Description
Senses the layer’s effective format, searching all based-on
links. The resulting aCharFormat
is fully populated.
Parameters
TCharFormat& aCharFormat |
On return, contains the layer's effective formatting. |
|
void Sense(TCharFormat& aCharFormat,TCharFormatMask& aMask)const;
Description
Senses the formatting which has been applied to the current layer only.
No based-on links are searched. This function does not get the layer's
effective formatting, but the resulting aCharFormat
is fully
populated, even if not all attributes are flagged for sensing in
aMask
because any attribute values not sensed from the current
layer are set to default values.
Parameters
TCharFormat& aCharFormat |
On return, contains the formatting which has been applied to the current
layer only. Any attributes not explicitly set in the current layer are set to
the default values for a TCharFormat . Any attributes specified in
aMask are not sensed from this layer. The values for these
attributes are also initialised to the default settings. |
TCharFormatMask& aMask |
A bitmask. Any attributes which are set in the mask as passed into the
function are not sensed from the current layer. On return, indicates the
attributes which were sensed from this layer. So, normally, when passed to the
function, all attributes in the mask should be unset. |
|
CCharFormatLayer* CloneL()const;
Description
Constructs and returns a new CCharFormatLayer
with identical
formatting to the current layer. Note that the function does not copy the
original layer's based-on link — the new layer's based-on link is
set to NULL, so that the two layers may not have the same effective
formatting.
Return value
CCharFormatLayer* |
A new character format layer cloned from the current layer. |
|
TBool IsIdentical(const TCharFormat& aCharFormat,const TCharFormatMask& aMask)const;
Description
Compares a format attribute container with the current layer. For the two
objects to be identical, the current layer must contain only the attributes
specified in the argument aMask
, and these attributes must have
the same values as those in aCharFormat
. None of the current
layer's based-on links are searched.
Parameters
const TCharFormat& aCharFormat |
Contains the attribute values used in the comparison. |
const TCharFormatMask& aMask |
A bitmask specifying which attributes are relevant to the function.
|
|
Return value
TBool |
ETrue if the formatting of the current layer exactly
matches that contained in aCharFormat , otherwise
EFalse . |
|
virtual TBool IsIdentical(CFormatLayer* aLayer,TBool aCheckBasedOnLink=ETrue)const;
Description
Compares another character format layer with the current layer. For the
two layers to be equal, they must have the same contents and (if the second
parameter is ETrue
), their based-on links must point to the same
format layer.
Parameters
CFormatLayer* aLayer |
The character format layer to compare to this format layer. |
TBool aCheckBasedOnLink=ETrue |
If ETrue , both layers' based-on links must point to the
same format layer. If EFalse , the based-on links are not used in
the comparison. By default, ETrue . |
|
Return value
TBool |
ETrue if the two layers are identical, otherwise
EFalse . |
|
const TUint8* Ptr(TInt& aSize)const;
Description
Gets a pointer to the start of the buffer containing the layer's format
attribute values.
Parameters
TInt& aSize |
On return, set to the size of the buffer. |
|
Return value
TUint8* |
Pointer to the buffer which contains the layer's format attribute
values. |
|
virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aBase=NULL);
Description
Internalises the character format layer but not its based-on link from a
read stream. The presence of this function means that the standard templated
operator>>()
(defined in s32strm.h) is available to
internalise objects of this class. The internalised layer is set to be based on
the layer specified.
Parameters
RReadStream& aStream |
Stream from which the format layer should be internalised. |
const CFormatLayer* aBase=NULL |
The based-on link to assign to the layer. By default NULL. |
|
virtual void ExternalizeL(RWriteStream& aStream)const;
Description
Externalises the character format layer but not its based-on link to a
write stream. The presence of this function means that the standard templated
operator<<()
(defined in s32strm.h) is available to
externalise objects of this class.
Parameters
RWriteStream& aStream |
Stream to which the format layer should be externalised. |
|