Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

IndicLayoutEngine.h

Go to the documentation of this file.
00001 
00002 /*
00003  * @(#)IndicLayoutEngine.h      1.4 00/03/15
00004  *
00005  * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
00006  *
00007  */
00008 
00009 #ifndef __INDICLAYOUTENGINE_H
00010 #define __INDICLAYOUTENGINE_H
00011 
00012 #include "LETypes.h"
00013 #include "LEFontInstance.h"
00014 #include "LEGlyphFilter.h"
00015 #include "LayoutEngine.h"
00016 #include "OpenTypeLayoutEngine.h"
00017 
00018 #include "GlyphSubstitutionTables.h"
00019 #include "GlyphDefinitionTables.h"
00020 #include "GlyphPositioningTables.h"
00021 
00022 #include <string.h>
00023 
00024 U_NAMESPACE_BEGIN
00025 
00026 class MPreFixups;
00027 
00039 class IndicOpenTypeLayoutEngine : public OpenTypeLayoutEngine
00040 {
00041 public:
00059     IndicOpenTypeLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode,
00060                             const GlyphSubstitutionTableHeader *gsubTable);
00061 
00075     IndicOpenTypeLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode);
00076 
00082    virtual ~IndicOpenTypeLayoutEngine();
00083 
00089     virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
00090 
00096     static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
00097 
00098 protected:
00099 
00123     virtual le_int32 characterProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
00124             LEUnicode *&outChars, le_int32 *&charIndices, const LETag **&featureTags, LEErrorCode &success);
00125 
00155     virtual le_int32 glyphProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
00156             const LETag **&featureTags, LEGlyphID *&glyphs, le_int32 *&charIndices, LEErrorCode &success);
00157 
00158 private:
00159 
00164     static const char fgClassID;
00165 
00166     MPreFixups *fMPreFixups;
00167 };
00168 
00169 U_NAMESPACE_END
00170 #endif
00171 

Generated on Mon Nov 24 14:35:31 2003 for ICU 2.8 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001