jdk/src/share/native/sun/font/layout/StateTableProcessor.h
changeset 16891 91e99bed64ae
parent 5506 202f599c92aa
equal deleted inserted replaced
16890:36b30720a997 16891:91e99bed64ae
    47 class LEGlyphStorage;
    47 class LEGlyphStorage;
    48 
    48 
    49 class StateTableProcessor : public SubtableProcessor
    49 class StateTableProcessor : public SubtableProcessor
    50 {
    50 {
    51 public:
    51 public:
    52     void process(LEGlyphStorage &glyphStorage);
    52     void process(LEGlyphStorage &glyphStorage, LEErrorCode &success);
    53 
    53 
    54     virtual void beginStateTable() = 0;
    54     virtual void beginStateTable() = 0;
    55 
    55 
    56     virtual ByteOffset processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex index) = 0;
    56     virtual ByteOffset processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex index) = 0;
    57 
    57 
    58     virtual void endStateTable() = 0;
    58     virtual void endStateTable() = 0;
    59 
    59 
    60 protected:
    60 protected:
    61     StateTableProcessor(const MorphSubtableHeader *morphSubtableHeader);
    61     StateTableProcessor(const LEReferenceTo<MorphSubtableHeader> &morphSubtableHeader, LEErrorCode &success);
    62     virtual ~StateTableProcessor();
    62     virtual ~StateTableProcessor();
    63 
    63 
    64     StateTableProcessor();
    64     StateTableProcessor();
    65 
    65 
    66     le_int16 stateSize;
    66     le_int16 stateSize;
    67     ByteOffset classTableOffset;
    67     ByteOffset classTableOffset;
    68     ByteOffset stateArrayOffset;
    68     ByteOffset stateArrayOffset;
    69     ByteOffset entryTableOffset;
    69     ByteOffset entryTableOffset;
    70 
    70 
    71     const ClassTable *classTable;
    71     LEReferenceTo<ClassTable> classTable;
    72     TTGlyphID firstGlyph;
    72     TTGlyphID firstGlyph;
    73     TTGlyphID lastGlyph;
    73     TTGlyphID lastGlyph;
    74 
    74 
    75     const MorphStateTableHeader *stateTableHeader;
    75     LEReferenceTo<MorphStateTableHeader> stateTableHeader;
       
    76     LEReferenceTo<StateTableHeader> stHeader; // for convenience
    76 
    77 
    77 private:
    78 private:
    78     StateTableProcessor(const StateTableProcessor &other); // forbid copying of this class
    79     StateTableProcessor(const StateTableProcessor &other); // forbid copying of this class
    79     StateTableProcessor &operator=(const StateTableProcessor &other); // forbid copying of this class
    80     StateTableProcessor &operator=(const StateTableProcessor &other); // forbid copying of this class
    80 };
    81 };