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