2 * @(#)StateTableProcessor.h 1.6 00/03/15
4 * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
8 #ifndef __STATETABLEPROCESSOR_H
9 #define __STATETABLEPROCESSOR_H
17 #include "MorphTables.h"
18 #include "MorphStateTables.h"
19 #include "SubtableProcessor.h"
23 class StateTableProcessor
: public SubtableProcessor
26 void process(LEGlyphID
*glyphs
, le_int32
*charIndices
, le_int32 glyph
);
28 virtual void beginStateTable() = 0;
30 virtual ByteOffset
processStateEntry(LEGlyphID
*glyphs
, le_int32
*charIndices
, le_int32
&currGlyph
,
31 le_int32 glyphCount
, 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