00001 #ifndef CUSTOMFONT_H 00002 #define CUSTOMFONT_H 00003 00004 #include "Entity.h" 00005 #include "XMLResource.h" 00006 00007 #pragma once 00008 00009 enum eFontType 00010 { 00011 Undefined_Font, 00012 Logical_Font, 00013 Bitmap_Font 00014 }; 00015 00016 enum eTextAlign 00017 { 00018 Horizontal_Align_Left = 0, 00019 Horizontal_Align_Center = 1, 00020 Horizontal_Align_Right = 2, 00021 Vertical_Align_Top = 0, 00022 Vertical_Align_Center = 1, 00023 Vertical_Align_Bottom = 2 00024 }; 00026 00029 class CCustomFont : public CXMLResource 00030 { 00031 CREATOR(CFontManager); 00032 00033 protected: 00034 00035 CCustomFont(); 00036 virtual ~CCustomFont(); 00037 00038 public: 00044 virtual int LoadXML(TiXmlNode *pDataNode, CString strFilename); 00050 virtual int SaveXML(TiXmlNode *pDataNode, CString strFilename); 00055 virtual void Destroy(); 00060 virtual void Draw(CString strFormat, ...) = 0; 00066 virtual void DrawChar(float x, float y, char c) = 0; 00067 00069 eFontType GetFontType(); 00074 virtual bool IsOfType(eEntityType eType); 00075 00076 protected: 00077 DWORD m_dwFlags; 00078 eFontType m_eFontType; 00079 }; 00080 00081 #endif