]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/ContextualGlyphInsertionProc2.h
ICU-511.32.tar.gz
[apple/icu.git] / icuSources / layout / ContextualGlyphInsertionProc2.h
1 /*
2 *
3 * (C) Copyright IBM Corp. and others 2013 - All Rights Reserved
4 *
5 */
6
7 #ifndef __CONTEXTUALGLYPHINSERTIONPROCESSOR2_H
8 #define __CONTEXTUALGLYPHINSERTIONPROCESSOR2_H
9
10 /**
11 * \file
12 * \internal
13 */
14
15 #include "LETypes.h"
16 #include "MorphTables.h"
17 #include "SubtableProcessor2.h"
18 #include "StateTableProcessor2.h"
19 #include "ContextualGlyphInsertionProc2.h"
20 #include "ContextualGlyphInsertion.h"
21
22 U_NAMESPACE_BEGIN
23
24 class LEGlyphStorage;
25
26 class ContextualGlyphInsertionProcessor2 : public StateTableProcessor2
27 {
28 public:
29 virtual void beginStateTable();
30
31 virtual le_uint16 processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex2 index);
32
33 virtual void endStateTable();
34
35 ContextualGlyphInsertionProcessor2(const MorphSubtableHeader2 *morphSubtableHeader);
36 virtual ~ContextualGlyphInsertionProcessor2();
37
38 /**
39 * ICU "poor man's RTTI", returns a UClassID for the actual class.
40 *
41 * @stable ICU 2.8
42 */
43 virtual UClassID getDynamicClassID() const;
44
45 /**
46 * ICU "poor man's RTTI", returns a UClassID for this class.
47 *
48 * @stable ICU 2.8
49 */
50 static UClassID getStaticClassID();
51
52 private:
53 ContextualGlyphInsertionProcessor2();
54
55 protected:
56 le_int32 markGlyph;
57 const le_uint16* insertionTable;
58 const ContextualGlyphInsertionStateEntry2 *entryTable;
59 const ContextualGlyphInsertionHeader2 *contextualGlyphHeader;
60
61 };
62
63 U_NAMESPACE_END
64 #endif