3 * (C) Copyright IBM Corp. and others 1998-2013 - All Rights Reserved
7 #ifndef __STATETABLEPROCESSOR2_H
8 #define __STATETABLEPROCESSOR2_H
16 #include "MorphTables.h"
17 #include "MorphStateTables.h"
18 #include "SubtableProcessor2.h"
19 #include "LookupTables.h"
25 class StateTableProcessor2
: public SubtableProcessor2
28 void process(LEGlyphStorage
&glyphStorage
, LEErrorCode
&success
);
30 virtual void beginStateTable() = 0;
32 virtual le_uint16
processStateEntry(LEGlyphStorage
&glyphStorage
, le_int32
&currGlyph
, EntryTableIndex2 index
, LEErrorCode
&success
) = 0;
34 virtual void endStateTable() = 0;
37 StateTableProcessor2(const LEReferenceTo
<MorphSubtableHeader2
> &morphSubtableHeader
, LEErrorCode
&success
);
38 virtual ~StateTableProcessor2();
40 StateTableProcessor2();
45 le_uint32 classTableOffset
;
46 le_uint32 stateArrayOffset
;
47 le_uint32 entryTableOffset
;
49 LEReferenceTo
<LookupTable
> classTable
;
50 LEReferenceToArrayOf
<EntryTableIndex2
> stateArray
;
51 LEReferenceTo
<MorphStateTableHeader2
> stateTableHeader
;
52 LEReferenceTo
<StateTableHeader2
> stHeader
; // for convenience
55 StateTableProcessor2(const StateTableProcessor2
&other
); // forbid copying of this class
56 StateTableProcessor2
&operator=(const StateTableProcessor2
&other
); // forbid copying of this class