ICU 4.8.1.1
4.8.1.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
layout
LayoutEngine.h
Go to the documentation of this file.
1
/*
2
* (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved
3
*/
4
5
#ifndef __LAYOUTENGINE_H
6
#define __LAYOUTENGINE_H
7
8
#include "
LETypes.h
"
9
15
U_NAMESPACE_BEGIN
16
17
class
LEFontInstance
;
18
class
LEGlyphFilter;
19
class
LEGlyphStorage
;
20
64
class
U_LAYOUT_API
LayoutEngine
:
public
UObject
{
65
public
:
67
static
const
le_int32
kTypoFlagKern
;
69
static
const
le_int32
kTypoFlagLiga
;
70
71
protected
:
77
LEGlyphStorage
*
fGlyphStorage
;
78
86
const
LEFontInstance
*
fFontInstance
;
87
95
le_int32
fScriptCode
;
96
104
le_int32
fLanguageCode
;
105
111
le_int32
fTypoFlags
;
112
119
le_bool
fFilterZeroWidth
;
120
137
LayoutEngine
(
const
LEFontInstance
*fontInstance,
138
le_int32
scriptCode,
139
le_int32
languageCode,
140
le_int32
typoFlags,
141
LEErrorCode
&success);
142
150
LayoutEngine
();
151
174
virtual
le_int32
characterProcessing(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_int32
max,
le_bool
rightToLeft,
175
LEUnicode
*&outChars,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
176
203
virtual
le_int32
computeGlyphs(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_int32
max,
le_bool
rightToLeft,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
204
218
virtual
void
positionGlyphs(
LEGlyphStorage
&glyphStorage,
float
x,
float
y,
LEErrorCode
&success);
219
240
virtual
void
adjustGlyphPositions(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_bool
reverse,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
241
254
virtual
const
void
*getFontTable(
LETag
tableTag)
const
;
255
281
virtual
void
mapCharsToGlyphs(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_bool
reverse,
le_bool
mirror,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
282
295
static
void
adjustMarkGlyphs(
LEGlyphStorage
&glyphStorage, LEGlyphFilter *markFilter,
LEErrorCode
&success);
296
297
316
static
void
adjustMarkGlyphs(
const
LEUnicode
chars[],
le_int32
charCount,
le_bool
reverse,
LEGlyphStorage
&glyphStorage, LEGlyphFilter *markFilter,
LEErrorCode
&success);
317
318
319
public
:
328
virtual
~
LayoutEngine
();
329
355
virtual
le_int32
layoutChars(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_int32
max,
le_bool
rightToLeft,
float
x,
float
y,
LEErrorCode
&success);
356
366
le_int32
getGlyphCount()
const
;
367
378
void
getGlyphs(
LEGlyphID
glyphs[],
LEErrorCode
&success)
const
;
379
392
virtual
void
getGlyphs(
le_uint32
glyphs[],
le_uint32
extraBits,
LEErrorCode
&success)
const
;
393
404
void
getCharIndices(
le_int32
charIndices[],
LEErrorCode
&success)
const
;
405
417
void
getCharIndices(
le_int32
charIndices[],
le_int32
indexBase,
LEErrorCode
&success)
const
;
418
430
void
getGlyphPositions(
float
positions[],
LEErrorCode
&success)
const
;
431
446
void
getGlyphPosition(
le_int32
glyphIndex,
float
&x,
float
&y,
LEErrorCode
&success)
const
;
447
455
virtual
void
reset();
456
473
static
LayoutEngine
*layoutEngineFactory(
const
LEFontInstance
*fontInstance,
le_int32
scriptCode,
le_int32
languageCode,
LEErrorCode
&success);
474
479
static
LayoutEngine
*layoutEngineFactory(
const
LEFontInstance
*fontInstance,
le_int32
scriptCode,
le_int32
languageCode,
le_int32
typo_flags,
LEErrorCode
&success);
480
486
virtual
UClassID
getDynamicClassID
()
const
;
487
493
static
UClassID
getStaticClassID();
494
495
};
496
497
U_NAMESPACE_END
498
#endif
Generated on Mon Mar 25 2013 16:17:06 for ICU 4.8.1.1 by
1.8.3.1