X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..ef6cf650f4a75c3f97de06b51fa104f2069b9ea2:/icuSources/layout/StateTableProcessor.h?ds=sidebyside diff --git a/icuSources/layout/StateTableProcessor.h b/icuSources/layout/StateTableProcessor.h index 19212d38..bed87bd8 100644 --- a/icuSources/layout/StateTableProcessor.h +++ b/icuSources/layout/StateTableProcessor.h @@ -1,7 +1,6 @@ /* - * @(#)StateTableProcessor.h 1.6 00/03/15 * - * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved + * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved * */ @@ -20,20 +19,21 @@ U_NAMESPACE_BEGIN +class LEGlyphStorage; + class StateTableProcessor : public SubtableProcessor { public: - void process(LEGlyphID *glyphs, le_int32 *charIndices, le_int32 glyph); + void process(LEGlyphStorage &glyphStorage, LEErrorCode &success); virtual void beginStateTable() = 0; - virtual ByteOffset processStateEntry(LEGlyphID *glyphs, le_int32 *charIndices, le_int32 &currGlyph, - le_int32 glyphCount, EntryTableIndex index) = 0; + virtual ByteOffset processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex index) = 0; virtual void endStateTable() = 0; protected: - StateTableProcessor(const MorphSubtableHeader *morphSubtableHeader); + StateTableProcessor(const LEReferenceTo &morphSubtableHeader, LEErrorCode &success); virtual ~StateTableProcessor(); StateTableProcessor(); @@ -43,11 +43,12 @@ protected: ByteOffset stateArrayOffset; ByteOffset entryTableOffset; - const ClassTable *classTable; + LEReferenceTo classTable; TTGlyphID firstGlyph; TTGlyphID lastGlyph; - const MorphStateTableHeader *stateTableHeader; + LEReferenceTo stateTableHeader; + LEReferenceTo stHeader; // for convenience private: StateTableProcessor(const StateTableProcessor &other); // forbid copying of this class