3 * (C) Copyright IBM Corp. 1998-2013 - 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
, LEErrorCode
&success
);
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 LEReferenceTo
<MorphSubtableHeader
> &morphSubtableHeader
, LEErrorCode
&success
);
37 virtual ~StateTableProcessor();
39 StateTableProcessor();
42 ByteOffset classTableOffset
;
43 ByteOffset stateArrayOffset
;
44 ByteOffset entryTableOffset
;
46 LEReferenceTo
<ClassTable
> classTable
;
50 LEReferenceTo
<MorphStateTableHeader
> stateTableHeader
;
51 LEReferenceTo
<StateTableHeader
> stHeader
; // for convenience
54 StateTableProcessor(const StateTableProcessor
&other
); // forbid copying of this class
55 StateTableProcessor
&operator=(const StateTableProcessor
&other
); // forbid copying of this class