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