3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
7 #ifndef __STATETABLEPROCESSOR_H
8 #define __STATETABLEPROCESSOR_H
16 #include "MorphTables.h"
17 #include "MorphStateTables.h"
18 #include "SubtableProcessor.h"
24 class StateTableProcessor
: public SubtableProcessor
27 void process(LEGlyphStorage
&glyphStorage
);
29 virtual void beginStateTable() = 0;
31 virtual ByteOffset
processStateEntry(LEGlyphStorage
&glyphStorage
, le_int32
&currGlyph
, EntryTableIndex index
) = 0;
33 virtual void endStateTable() = 0;
36 StateTableProcessor(const MorphSubtableHeader
*morphSubtableHeader
);
37 virtual ~StateTableProcessor();
39 StateTableProcessor();
42 ByteOffset classTableOffset
;
43 ByteOffset stateArrayOffset
;
44 ByteOffset entryTableOffset
;
46 const ClassTable
*classTable
;
50 const MorphStateTableHeader
*stateTableHeader
;
53 StateTableProcessor(const StateTableProcessor
&other
); // forbid copying of this class
54 StateTableProcessor
&operator=(const StateTableProcessor
&other
); // forbid copying of this class