This class records the information associated with a character in the input string.
More...
#include <gfxFont.h>
List of all members.
Public Types |
enum | {
FLAG_IS_SIMPLE_GLYPH = 0x80000000U,
FLAG_CAN_BREAK_BEFORE = 0x40000000U,
ADVANCE_MASK = 0x3FFF0000U,
ADVANCE_SHIFT = 16,
GLYPH_MASK = 0x0000FFFFU,
FLAG_NOT_MISSING = 0x01,
FLAG_NOT_CLUSTER_START = 0x02,
FLAG_NOT_LIGATURE_GROUP_START = 0x04,
GLYPH_COUNT_MASK = 0x00FFFF00U,
GLYPH_COUNT_SHIFT = 8
} |
Public Member Functions |
| CompressedGlyph () |
PRBool | IsSimpleGlyph () const |
PRUint32 | GetSimpleAdvance () const |
PRUint32 | GetSimpleGlyph () const |
PRBool | IsMissing () const |
PRBool | IsClusterStart () const |
PRBool | IsLigatureGroupStart () const |
PRBool | IsLigatureContinuation () const |
PRBool | CanBreakBefore () const |
PRUint32 | SetCanBreakBefore (PRBool aCanBreakBefore) |
CompressedGlyph & | SetSimpleGlyph (PRUint32 aAdvanceAppUnits, PRUint32 aGlyph) |
CompressedGlyph & | SetComplex (PRBool aClusterStart, PRBool aLigatureStart, PRUint32 aGlyphCount) |
CompressedGlyph & | SetMissing (PRUint32 aGlyphCount) |
| Missing glyphs are treated as ligature group starts; don't mess with the cluster-start flag (see bugs 618870 and 619286).
|
PRUint32 | GetGlyphCount () const |
Static Public Member Functions |
static PRBool | IsSimpleGlyphID (PRUint32 aGlyph) |
static PRBool | IsSimpleAdvance (PRUint32 aAdvance) |
Detailed Description
This class records the information associated with a character in the input string.
It's optimized for the case where there is one glyph representing that character alone.
A character can have zero or more associated glyphs. Each glyph has an advance width and an x and y offset. A character may be the start of a cluster. A character may be the start of a ligature group. A character can be "missing", indicating that the system is unable to render the character.
All characters in a ligature group conceptually share all the glyphs associated with the characters in a group.
Member Enumeration Documentation
- Enumerator:
FLAG_IS_SIMPLE_GLYPH |
|
FLAG_CAN_BREAK_BEFORE |
|
ADVANCE_MASK |
|
ADVANCE_SHIFT |
|
GLYPH_MASK |
|
FLAG_NOT_MISSING |
|
FLAG_NOT_CLUSTER_START |
|
FLAG_NOT_LIGATURE_GROUP_START |
|
GLYPH_COUNT_MASK |
|
GLYPH_COUNT_SHIFT |
|
Constructor & Destructor Documentation
gfxTextRun::CompressedGlyph::CompressedGlyph |
( |
|
) |
[inline] |
Member Function Documentation
PRBool gfxTextRun::CompressedGlyph::CanBreakBefore |
( |
|
) |
const [inline] |
PRUint32 gfxTextRun::CompressedGlyph::GetGlyphCount |
( |
|
) |
const [inline] |
PRUint32 gfxTextRun::CompressedGlyph::GetSimpleAdvance |
( |
|
) |
const [inline] |
PRUint32 gfxTextRun::CompressedGlyph::GetSimpleGlyph |
( |
|
) |
const [inline] |
PRBool gfxTextRun::CompressedGlyph::IsClusterStart |
( |
|
) |
const [inline] |
PRBool gfxTextRun::CompressedGlyph::IsLigatureContinuation |
( |
|
) |
const [inline] |
PRBool gfxTextRun::CompressedGlyph::IsLigatureGroupStart |
( |
|
) |
const [inline] |
PRBool gfxTextRun::CompressedGlyph::IsMissing |
( |
|
) |
const [inline] |
static PRBool gfxTextRun::CompressedGlyph::IsSimpleAdvance |
( |
PRUint32 |
aAdvance |
) |
[inline, static] |
PRBool gfxTextRun::CompressedGlyph::IsSimpleGlyph |
( |
|
) |
const [inline] |
static PRBool gfxTextRun::CompressedGlyph::IsSimpleGlyphID |
( |
PRUint32 |
aGlyph |
) |
[inline, static] |
PRUint32 gfxTextRun::CompressedGlyph::SetCanBreakBefore |
( |
PRBool |
aCanBreakBefore |
) |
[inline] |
CompressedGlyph& gfxTextRun::CompressedGlyph::SetComplex |
( |
PRBool |
aClusterStart, |
|
|
PRBool |
aLigatureStart, |
|
|
PRUint32 |
aGlyphCount | |
|
) |
| | [inline] |
CompressedGlyph& gfxTextRun::CompressedGlyph::SetMissing |
( |
PRUint32 |
aGlyphCount |
) |
[inline] |
Missing glyphs are treated as ligature group starts; don't mess with the cluster-start flag (see bugs 618870 and 619286).
CompressedGlyph& gfxTextRun::CompressedGlyph::SetSimpleGlyph |
( |
PRUint32 |
aAdvanceAppUnits, |
|
|
PRUint32 |
aGlyph | |
|
) |
| | [inline] |
The documentation for this class was generated from the following file: