30 */ |
30 */ |
31 |
31 |
32 #ifndef __GLYPHITERATOR_H |
32 #ifndef __GLYPHITERATOR_H |
33 #define __GLYPHITERATOR_H |
33 #define __GLYPHITERATOR_H |
34 |
34 |
|
35 /** |
|
36 * \file |
|
37 * \internal |
|
38 */ |
|
39 |
35 #include "LETypes.h" |
40 #include "LETypes.h" |
36 #include "OpenTypeTables.h" |
41 #include "OpenTypeTables.h" |
37 #include "GlyphDefinitionTables.h" |
42 #include "GlyphDefinitionTables.h" |
38 |
43 |
39 struct InsertionRecord |
44 U_NAMESPACE_BEGIN |
40 { |
|
41 InsertionRecord *next; |
|
42 le_int32 position; |
|
43 le_int32 count; |
|
44 LEGlyphID glyphs[ANY_NUMBER]; |
|
45 }; |
|
46 |
45 |
47 class LEGlyphStorage; |
46 class LEGlyphStorage; |
48 class GlyphPositionAdjustments; |
47 class GlyphPositionAdjustments; |
49 |
48 |
50 class GlyphIterator { |
49 class GlyphIterator : public UMemory { |
51 public: |
50 public: |
52 GlyphIterator(LEGlyphStorage &theGlyphStorage, GlyphPositionAdjustments *theGlyphPositionAdjustments, |
51 GlyphIterator(LEGlyphStorage &theGlyphStorage, GlyphPositionAdjustments *theGlyphPositionAdjustments, le_bool rightToLeft, le_uint16 theLookupFlags, |
53 le_bool rightToLeft, le_uint16 theLookupFlags, FeatureMask theFeatureMask, |
52 FeatureMask theFeatureMask, const GlyphDefinitionTableHeader *theGlyphDefinitionTableHeader); |
54 const GlyphDefinitionTableHeader *theGlyphDefinitionTableHeader); |
|
55 |
53 |
56 GlyphIterator(GlyphIterator &that); |
54 GlyphIterator(GlyphIterator &that); |
57 |
55 |
58 GlyphIterator(GlyphIterator &that, FeatureMask newFeatureMask); |
56 GlyphIterator(GlyphIterator &that, FeatureMask newFeatureMask); |
59 |
57 |