Home | History | Annotate | Download | only in layout
      1 /*
      2  *
      3  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
      4  *
      5  */
      6 
      7 #ifndef __SUBTABLEPROCESSOR_H
      8 #define __SUBTABLEPROCESSOR_H
      9 
     10 /**
     11  * \file
     12  * \internal
     13  */
     14 
     15 #include "LETypes.h"
     16 #include "MorphTables.h"
     17 
     18 U_NAMESPACE_BEGIN
     19 
     20 class LEGlyphStorage;
     21 
     22 class SubtableProcessor : public UMemory {
     23 public:
     24     virtual void process(LEGlyphStorage &glyphStorage) = 0;
     25     virtual ~SubtableProcessor();
     26 
     27 protected:
     28     SubtableProcessor(const MorphSubtableHeader *morphSubtableHeader);
     29 
     30     SubtableProcessor();
     31 
     32     le_int16 length;
     33     SubtableCoverage coverage;
     34     FeatureFlags subtableFeatures;
     35 
     36     const MorphSubtableHeader *subtableHeader;
     37 
     38 private:
     39 
     40     SubtableProcessor(const SubtableProcessor &other); // forbid copying of this class
     41     SubtableProcessor &operator=(const SubtableProcessor &other); // forbid copying of this class
     42 };
     43 
     44 U_NAMESPACE_END
     45 #endif
     46 
     47