optimized default GUI font loading

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2001-11-20 23:48:03 +00:00
parent f91bf72fb0
commit 8fbdfa4faf

View File

@ -14,6 +14,31 @@
#include "wx/settings.h"
#include "wx/colour.h"
#include "wx/font.h"
#include "wx/module.h"
// ----------------------------------------------------------------------------
// global data
// ----------------------------------------------------------------------------
static wxFont *gs_fontDefault = NULL;
class wxSystemSettingsModule : public wxModule
{
public:
virtual bool OnInit() { return TRUE; }
virtual void OnExit()
{
delete gs_fontDefault;
gs_fontDefault = NULL;
}
private:
DECLARE_DYNAMIC_CLASS(wxSystemSettingsModule)
};
IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule)
wxColour wxSystemSettings::GetSystemColour(int WXUNUSED(index))
{
@ -21,10 +46,25 @@ wxColour wxSystemSettings::GetSystemColour(int WXUNUSED(index))
return wxColour(0,0,0);
}
wxFont wxSystemSettings::GetSystemFont(int WXUNUSED(index))
wxFont wxSystemSettings::GetSystemFont(int index)
{
bool isDefaultRequested = (index == wxSYS_DEFAULT_GUI_FONT);
if ( isDefaultRequested && gs_fontDefault )
{
return *gs_fontDefault;
}
// FIXME_MGL
return wxFont(10, wxSWISS, wxNORMAL, wxNORMAL, FALSE, "Arial");
wxFont font(10, wxSWISS, wxNORMAL, wxNORMAL, FALSE, "Arial");
if ( isDefaultRequested )
{
// if we got here it means we hadn't cached it yet - do now
gs_fontDefault = new wxFont(font);
}
return font;
}
int wxSystemSettings::GetSystemMetric(int WXUNUSED(index))