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
LEGlyphStorage.h
Go to the documentation of this file.
1
/*
2
**********************************************************************
3
* Copyright (C) 1998-2010, International Business Machines
4
* Corporation and others. All Rights Reserved.
5
**********************************************************************
6
*/
7
8
#ifndef __LEGLYPHSTORAGE_H
9
#define __LEGLYPHSTORAGE_H
10
11
#include "
LETypes.h
"
12
#include "LEInsertionList.h"
13
19
U_NAMESPACE_BEGIN
20
34
class
U_LAYOUT_API
LEGlyphStorage
:
public
UObject
,
protected
LEInsertionCallback
35
{
36
private
:
42
le_int32
fGlyphCount;
43
49
LEGlyphID
*fGlyphs;
50
56
le_int32
*fCharIndices;
57
63
float
*fPositions;
64
70
le_uint32
*fAuxData;
71
72
78
LEInsertionList *fInsertionList;
79
85
le_int32
fSrcIndex;
86
92
le_int32
fDestIndex;
93
94
protected
:
110
virtual
le_bool
applyInsertion(
le_int32
atPosition,
le_int32
count,
LEGlyphID
newGlyphs[]);
111
112
public
:
113
121
LEGlyphStorage
();
122
128
~
LEGlyphStorage
();
129
137
inline
le_int32
getGlyphCount()
const
;
138
149
void
getGlyphs(
LEGlyphID
glyphs[],
LEErrorCode
&success)
const
;
150
163
void
getGlyphs(
le_uint32
glyphs[],
le_uint32
extraBits,
LEErrorCode
&success)
const
;
164
175
void
getCharIndices(
le_int32
charIndices[],
LEErrorCode
&success)
const
;
176
188
void
getCharIndices(
le_int32
charIndices[],
le_int32
indexBase,
LEErrorCode
&success)
const
;
189
201
void
getGlyphPositions(
float
positions[],
LEErrorCode
&success)
const
;
202
217
void
getGlyphPosition(
le_int32
glyphIndex,
float
&x,
float
&y,
LEErrorCode
&success)
const
;
218
231
void
allocateGlyphArray(
le_int32
initialGlyphCount,
le_bool
rightToLeft,
LEErrorCode
&success);
232
243
le_int32
allocatePositions(
LEErrorCode
&success);
244
254
le_int32
allocateAuxData(
LEErrorCode
&success);
255
264
void
getAuxData(
le_uint32
auxData[],
LEErrorCode
&success)
const
;
265
276
LEGlyphID
getGlyphID(
le_int32
glyphIndex,
LEErrorCode
&success)
const
;
277
288
le_int32
getCharIndex(
le_int32
glyphIndex,
LEErrorCode
&success)
const
;
289
290
301
le_uint32
getAuxData(
le_int32
glyphIndex,
LEErrorCode
&success)
const
;
302
313
inline
LEGlyphID
&operator[](
le_int32
glyphIndex)
const
;
314
332
LEGlyphID
*insertGlyphs(
le_int32
atIndex,
le_int32
insertCount,
LEErrorCode
& success);
333
352
LEGlyphID
*insertGlyphs(
le_int32
atIndex,
le_int32
insertCount);
353
367
void
moveGlyph(
le_int32
fromPosition,
le_int32
toPosition,
le_uint32
marker);
368
381
le_int32
applyInsertions();
382
392
void
setGlyphID(
le_int32
glyphIndex,
LEGlyphID
glyphID,
LEErrorCode
&success);
393
403
void
setCharIndex(
le_int32
glyphIndex,
le_int32
charIndex,
LEErrorCode
&success);
404
415
void
setPosition(
le_int32
glyphIndex,
float
x,
float
y,
LEErrorCode
&success);
416
427
void
adjustPosition(
le_int32
glyphIndex,
float
xAdjust,
float
yAdjust,
LEErrorCode
&success);
428
438
void
setAuxData(
le_int32
glyphIndex,
le_uint32
auxData,
LEErrorCode
&success);
439
450
void
adoptGlyphArray(
LEGlyphStorage
&from);
451
462
void
adoptCharIndicesArray(
LEGlyphStorage
&from);
463
474
void
adoptPositionArray(
LEGlyphStorage
&from);
475
486
void
adoptAuxDataArray(
LEGlyphStorage
&from);
487
497
void
adoptGlyphCount(
LEGlyphStorage
&from);
498
506
void
adoptGlyphCount(
le_int32
newGlyphCount);
507
516
void
reset();
517
523
virtual
UClassID
getDynamicClassID
()
const
;
524
530
static
UClassID
getStaticClassID();
531
};
532
533
inline
le_int32
LEGlyphStorage::getGlyphCount
()
const
534
{
535
return
fGlyphCount;
536
}
537
538
inline
LEGlyphID
&
LEGlyphStorage::operator[]
(
le_int32
glyphIndex)
const
539
{
540
return
fGlyphs[glyphIndex];
541
}
542
543
544
U_NAMESPACE_END
545
#endif
546
Generated on Mon Mar 16 2015 17:10:52 for ICU 4.8.1.1 by
1.8.1.2