»
Developer Library »
API Reference »
C++ API reference »
Text and Text Attributes »
CCharFormatLayer
Location:
txtfmlyr.h
Link against: etext.lib
CCharFormatLayer
Support
Supported from 5.0
Description
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 | Character format layer |
CFormatLayer | Abstract base class for the paragraph and character format layers |
|
Defined in CCharFormatLayer:
CloneL(), ExternalizeL(), InternalizeL(), IsIdentical(), IsIdentical(), NewL(), NewL(), 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.
|
|