+++ /dev/null
-/*
- *
- * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
- *
- */
-
-#ifndef __STATETABLEPROCESSOR_H
-#define __STATETABLEPROCESSOR_H
-
-/**
- * \file
- * \internal
- */
-
-#include "LETypes.h"
-#include "MorphTables.h"
-#include "MorphStateTables.h"
-#include "SubtableProcessor.h"
-
-U_NAMESPACE_BEGIN
-
-class LEGlyphStorage;
-
-class StateTableProcessor : public SubtableProcessor
-{
-public:
- void process(LEGlyphStorage &glyphStorage, LEErrorCode &success);
-
- virtual void beginStateTable() = 0;
-
- virtual ByteOffset processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex index) = 0;
-
- virtual void endStateTable() = 0;
-
-protected:
- StateTableProcessor(const LEReferenceTo<MorphSubtableHeader> &morphSubtableHeader, LEErrorCode &success);
- virtual ~StateTableProcessor();
-
- StateTableProcessor();
-
- le_int16 stateSize;
- ByteOffset classTableOffset;
- ByteOffset stateArrayOffset;
- ByteOffset entryTableOffset;
-
- LEReferenceTo<ClassTable> classTable;
- TTGlyphID firstGlyph;
- TTGlyphID lastGlyph;
-
- LEReferenceTo<MorphStateTableHeader> stateTableHeader;
- LEReferenceTo<StateTableHeader> stHeader; // for convenience
-
-private:
- StateTableProcessor(const StateTableProcessor &other); // forbid copying of this class
- StateTableProcessor &operator=(const StateTableProcessor &other); // forbid copying of this class
-};
-
-U_NAMESPACE_END
-#endif