ICU 50.1.2
50.1.2
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
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
:
66
#ifndef U_HIDE_INTERNAL_API
67
68
static
const
le_int32
kTypoFlagKern
;
70
static
const
le_int32
kTypoFlagLiga
;
71
#endif
/* U_HIDE_INTERNAL_API */
72
73
protected
:
79
LEGlyphStorage
*
fGlyphStorage
;
80
88
const
LEFontInstance
*
fFontInstance
;
89
97
le_int32
fScriptCode
;
98
106
le_int32
fLanguageCode
;
107
113
le_int32
fTypoFlags
;
114
121
le_bool
fFilterZeroWidth
;
122
123
#ifndef U_HIDE_INTERNAL_API
124
140
LayoutEngine
(
const
LEFontInstance
*fontInstance,
141
le_int32
scriptCode,
142
le_int32
languageCode,
143
le_int32
typoFlags,
144
LEErrorCode
&success);
145
#endif
/* U_HIDE_INTERNAL_API */
146
147
// Do not enclose the protected default constructor with #ifndef U_HIDE_INTERNAL_API
148
// or else the compiler will create a public default constructor.
156
LayoutEngine
();
157
180
virtual
le_int32
characterProcessing(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_int32
max,
le_bool
rightToLeft,
181
LEUnicode
*&outChars,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
182
209
virtual
le_int32
computeGlyphs(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_int32
max,
le_bool
rightToLeft,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
210
224
virtual
void
positionGlyphs(
LEGlyphStorage
&glyphStorage,
float
x,
float
y,
LEErrorCode
&success);
225
246
virtual
void
adjustGlyphPositions(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_bool
reverse,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
247
260
virtual
const
void
*getFontTable(
LETag
tableTag)
const
;
261
287
virtual
void
mapCharsToGlyphs(
const
LEUnicode
chars[],
le_int32
offset,
le_int32
count,
le_bool
reverse,
le_bool
mirror,
LEGlyphStorage
&glyphStorage,
LEErrorCode
&success);
288
289
#ifndef U_HIDE_INTERNAL_API
290
302
static
void
adjustMarkGlyphs(
LEGlyphStorage
&glyphStorage, LEGlyphFilter *markFilter,
LEErrorCode
&success);
303
304
323
static
void
adjustMarkGlyphs(
const
LEUnicode
chars[],
le_int32
charCount,
le_bool
reverse,
LEGlyphStorage
&glyphStorage, LEGlyphFilter *markFilter,
LEErrorCode
&success);
324
#endif
/* U_HIDE_INTERNAL_API */
325
326
public
:
335
virtual
~
LayoutEngine
();
336
362
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);
363
373
le_int32
getGlyphCount()
const
;
374
385
void
getGlyphs(
LEGlyphID
glyphs[],
LEErrorCode
&success)
const
;
386
399
virtual
void
getGlyphs(
le_uint32
glyphs[],
le_uint32
extraBits,
LEErrorCode
&success)
const
;
400
411
void
getCharIndices(
le_int32
charIndices[],
LEErrorCode
&success)
const
;
412
424
void
getCharIndices(
le_int32
charIndices[],
le_int32
indexBase,
LEErrorCode
&success)
const
;
425
437
void
getGlyphPositions(
float
positions[],
LEErrorCode
&success)
const
;
438
453
void
getGlyphPosition(
le_int32
glyphIndex,
float
&x,
float
&y,
LEErrorCode
&success)
const
;
454
462
virtual
void
reset();
463
480
static
LayoutEngine
*layoutEngineFactory(
const
LEFontInstance
*fontInstance,
le_int32
scriptCode,
le_int32
languageCode,
LEErrorCode
&success);
481
486
static
LayoutEngine
*layoutEngineFactory(
const
LEFontInstance
*fontInstance,
le_int32
scriptCode,
le_int32
languageCode,
le_int32
typo_flags,
LEErrorCode
&success);
487
493
virtual
UClassID
getDynamicClassID
()
const
;
494
500
static
UClassID
getStaticClassID();
501
502
};
503
504
U_NAMESPACE_END
505
#endif
Generated on Thu Jan 10 2013 16:42:09 for ICU 50.1.2 by
1.8.1.2