3 * (C) Copyright IBM Corp. 1998-2015 - All Rights Reserved
7 #ifndef __INDICREARRANGEMENTPROCESSOR_H
8 #define __INDICREARRANGEMENTPROCESSOR_H
16 #include "MorphTables.h"
17 #include "SubtableProcessor.h"
18 #include "StateTableProcessor.h"
19 #include "IndicRearrangement.h"
25 class IndicRearrangementProcessor : public StateTableProcessor
28 virtual void beginStateTable();
30 virtual ByteOffset processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex index);
32 virtual void endStateTable();
34 void doRearrangementAction(LEGlyphStorage &glyphStorage, IndicRearrangementVerb verb, LEErrorCode &success) const;
36 IndicRearrangementProcessor(const LEReferenceTo<MorphSubtableHeader> &morphSubtableHeader, LEErrorCode &success);
37 virtual ~IndicRearrangementProcessor();
40 * ICU "poor man's RTTI", returns a UClassID for the actual class.
42 * @deprecated ICU 54. See {@link icu::LayoutEngine}
44 virtual UClassID getDynamicClassID() const;
47 * ICU "poor man's RTTI", returns a UClassID for this class.
49 * @deprecated ICU 54. See {@link icu::LayoutEngine}
51 static UClassID getStaticClassID();
57 LEReferenceTo<IndicRearrangementSubtableHeader> indicRearrangementSubtableHeader;
58 LEReferenceToArrayOf<IndicRearrangementStateEntry> entryTable;
59 LEReferenceToArrayOf<le_int16> int16Table;