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