- Modified font caching. (Fixed an issue that LocalFont file is locked until exiting Rainmeter.)

- Disabled checked iterators in release mode. (_SECURE_SCL=0)
http://msdn.microsoft.com/en-us/library/aa985965.aspx
Note: _SECURE_SCL defaults to 0 in release mode in VC10(=VC2010).
This commit is contained in:
spx
2011-01-17 22:39:40 +00:00
parent f0e2084c42
commit 7ae8f298f8
23 changed files with 181 additions and 102 deletions

View File

@ -43,7 +43,7 @@ public:
virtual void BindMeasure(const std::list<CMeasure*>& measures);
Gdiplus::RectF GetRect() { return m_Rect; }
static void FreeFontCache();
static void FreeFontCache(Gdiplus::PrivateFontCollection* collection = NULL);
static void EnumerateInstalledFontFamilies();
private:
@ -100,7 +100,9 @@ private:
std::vector<std::wstring> m_MeasureNames;
std::vector<CMeasure*> m_Measures;
static std::wstring FontPropertiesToString(Gdiplus::FontFamily* fontFamily, Gdiplus::REAL size, Gdiplus::FontStyle style);
static std::wstring FontFaceToString(const std::wstring& fontFace, Gdiplus::PrivateFontCollection* collection);
static std::wstring FontPropertiesToString(Gdiplus::REAL size, Gdiplus::FontStyle style);
static std::map<std::wstring, Gdiplus::FontFamily*> c_FontFamilies; // Cache for the font families
static std::map<std::wstring, Gdiplus::Font*> c_Fonts; // Cache for the fonts
};