#ifndef _font_h_ #define _font_h_ ////////////////////////////////////////////////////////////////////////////// // // IEngineFont // ////////////////////////////////////////////////////////////////////////////// class IEngineFont : public IObject { public: virtual int GetMaxTextLength(const ZString& str, int maxWidth, bool bLeft) = 0; virtual WinPoint GetTextExtent(const ZString& str) = 0; virtual WinPoint GetTextExtent(const char* sz) = 0; virtual int GetHeight() = 0; virtual void DrawString( Surface* psurface, const WinPoint& point, const WinRect& rectClip, const ZString& str, const Color& color ) = 0; }; ////////////////////////////////////////////////////////////////////////////// // // Color Codes // ////////////////////////////////////////////////////////////////////////////// #define START_COLOR_CODE 0x81 #define END_COLOR_CODE 0x82 #define START_COLOR_STRING "\x81 %s" #define END_COLOR_STRING "\x82 " ZString ConvertColorToString (const Color& color); ////////////////////////////////////////////////////////////////////////////// // // FontValue // ////////////////////////////////////////////////////////////////////////////// ZString GetString(int indent, TRef pfont); void Write(IMDLBinaryFile* pmdlFile, TRef pfont); ZString GetFunctionName(const TRef& value); typedef TStaticValue > FontValue; #endif