My Project
|
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 namespace SallyAPI 00029 { 00030 namespace Core 00031 { 00032 class CFont; 00033 } 00034 } 00035 00036 #pragma once 00037 #include "Define.h" 00038 #include "Font.h" 00039 #include <map> 00040 #include <string> 00041 00042 namespace SallyAPI 00043 { 00044 namespace Core 00045 { 00054 00055 class DLL_API_SALLY CFontManager 00056 { 00057 private: 00058 static SallyAPI::Core::CFontManager* m_pObject; 00059 std::map<std::string, SallyAPI::Core::CFont*> m_Fonts; 00060 00061 void LoadFont(const std::string& fontName); 00062 00063 CFontManager(); 00064 ~CFontManager(); 00065 public: 00066 static SallyAPI::Core::CFontManager* GetInstance(); 00067 static void DeleteInstance(); 00068 00069 SallyAPI::Core::CFont* GetFontByName(const std::string& fontName); 00070 00071 bool RemoveFontByName(const std::string& fontName); 00072 bool RemoveFontByFont(SallyAPI::Core::CFont* font); 00073 00074 bool OnLostDevice(); 00075 bool OnResetDevice(); 00076 00077 void Reload(); 00078 }; 00079 } 00080 }