TGlyphSelectionState Class Reference

class TGlyphSelectionState

This container class holds the data for glyph selection algorithm and is used to pass this data around the algorithm methods.

Constructor & Destructor Documentation

TGlyphSelectionState(TUtf32Iterator &, const CFont *, CFont::TPositionParam &)

TGlyphSelectionState ( TUtf32Iterator & aIter,
const CFont * aFont,
CFont::TPositionParam & aParam
) [inline]

Parameters

TUtf32Iterator & aIter
const CFont * aFont
CFont::TPositionParam & aParam

Member Functions Documentation

AppendGlyphToCluster(TUint)

TBool AppendGlyphToCluster ( TUint code )

This common method is used by glyph selector classes to add a glyph to the end of the aGss.iParam output field filling in all the glyph info needed.

Parameters

TUint code The Unicode character for which a glyph should be appended.

CombineLastGlyphToBase(const TRect &, TInt)

void CombineLastGlyphToBase ( const TRect & aBase,
TInt aFirstDiacritic
)

This method is called to attach (by adjusing its bounding box) the current end glyph in the output array of iParam to the base glyph bounding box based on the Unicode combining class of the character.

Parameters

const TRect & aBase
TInt aFirstDiacritic Which character in the output array to treat as the first diacritic of the cluster. Usually 1, but can be more if the base class is a ligature.

IsCombiningClass()

TBool IsCombiningClass ( ) [inline]

Member Enumerations Documentation

Enum TGlyphClusterStateOverride

These enumeration values are used by the glyph selector classes to indicated back to the glyph selection algorithm when they find a cluster complete.

Enumerators

EGClusterComplete
EGClusterNotComplete

Enum TGlyphPostCombine

These enumeration values are used by the glyph selector classes to decide whether post combining is needed to combine the diacritic to the base character.

Enumerators

EGPostCombine_No
EGPostCombine_Yes

Enum TPenAdvance

Enum used in glyph selection code indicating if a pen advance is needed following the processing of the current glyph.

Enumerators

EPenAdvance_No
EPenAdvance_Yes

Member Data Documentation

TSize iAdvance

TSize iAdvance

TUint iCats

TUint iCats

TGlyphClusterStateOverride iClusterState

TGlyphClusterStateOverride iClusterState

Result from the glyph selector class as to whether it thinks the cluster is complete or incomplete.

TChar iCodeChar

TChar iCodeChar

TUint iCodePt

TUint iCodePt

The properties of the current character being processed

TInt iCombCls

TInt iCombCls

const CFont * iFont

const CFont * iFont

The font to select glyphs from

TGlyphPostCombine iGlyphPostCombine

TGlyphPostCombine iGlyphPostCombine

Result from the glyph selector class as to whether it needs to combine the diacritic with the base character.

TInt iLigaturePortionFirstMark

TInt iLigaturePortionFirstMark

Can be used in any way or not at all by the processing function. It is not initialised. Suggested use is to record the position in the output glyph array of the first diacritic on this portion of the ligature.

TInt iLigaturePortionsRemaining

TInt iLigaturePortionsRemaining

Can be used in any way or not at all by the processing function. It is set to 0 on intitialisation. Suggested use is to pass information about which part of a ligature is currently having diacritics attatched to it.

CFont::TPositionParam & iParam

CFont::TPositionParam & iParam

The in/out parameter data to the glyph selection code from outside

TPenAdvance iPen

TPenAdvance iPen

These hold the possible pen advance and if it should be applied

TUtf32Iterator & iText

TUtf32Iterator & iText

The Unicode iterator to the text processed