00001 00002 /* 00003 * @(#)ThaiLayoutEngine.h 1.3 00/03/15 00004 * 00005 * (C) Copyright IBM Corp. 1998-2003 - 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 U_NAMESPACE_BEGIN 00019 00028 class ThaiLayoutEngine : public LayoutEngine 00029 { 00030 public: 00045 ThaiLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode); 00046 00052 virtual ~ThaiLayoutEngine(); 00053 00059 virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); } 00060 00066 static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; } 00067 00068 protected: 00077 le_uint8 fGlyphSet; 00078 00089 LEUnicode fErrorChar; 00090 00114 virtual le_int32 computeGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, 00115 LEGlyphID *&glyphs, le_int32 *&charIndices, LEErrorCode &success); 00116 00117 private: 00118 00123 static const char fgClassID; 00124 }; 00125 00126 U_NAMESPACE_END 00127 #endif 00128