00001 00002 /* 00003 * @(#)ThaiLayoutEngine.h 1.3 00/03/15 00004 * 00005 * (C) Copyright IBM Corp. 1998, 1999, 2000, 2001, 2002 - All Rights Reserved 00006 * 00007 */ 00008 00009 #ifndef __THAILAYOUTENGINE_H 00010 #define __THAILAYOUTENGINE_H 00011 00012 #include "LETypes.h" 00013 #include "LEFontInstance.h" 00014 #include "LayoutEngine.h" 00015 00016 #include "ThaiShaping.h" 00017 00018 #include "cmemory.h" 00019 00020 U_NAMESPACE_BEGIN 00021 00030 class ThaiLayoutEngine : public LayoutEngine 00031 { 00032 public: 00047 ThaiLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode); 00048 00054 virtual ~ThaiLayoutEngine(); 00055 00061 virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); } 00062 00068 static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; } 00069 00070 protected: 00079 le_uint8 fGlyphSet; 00080 00091 LEUnicode fErrorChar; 00092 00116 virtual le_int32 computeGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, 00117 LEGlyphID *&glyphs, le_int32 *&charIndices, LEErrorCode &success); 00118 00119 private: 00120 00125 static const char fgClassID; 00126 }; 00127 00128 U_NAMESPACE_END 00129 #endif 00130