#include "wx/module.h"
#include "wx/fontutil.h"
+#ifdef __WXWINCE__ // for SM_CXCURSOR and SM_CYCURSOR
+#include "wx/msw/wince/missing.h"
+#endif // __WXWINCE__
+
// ----------------------------------------------------------------------------
// private classes
// ----------------------------------------------------------------------------
// all Windows version, for the other ones we have to check
bool useDefault;
- // none of the is supported under Win16 anyhow
-#ifdef __WIN32__
int verMaj, verMin;
wxGetOsVersion(&verMaj, &verMin);
if ( verMaj < 4 )
}
}
}
-#else
- useDefault = TRUE;
-#endif // __WIN32__
if ( useDefault )
{
if ( !hasCol )
{
+#ifdef __WXWINCE__
+ colSys = ::GetSysColor(index|SYS_COLOR_INDEX_FLAG);
+#else
colSys = ::GetSysColor(index);
+#endif
}
return wxRGBToColour(colSys);
wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
{
// wxWindow ctor calls GetSystemFont(wxSYS_DEFAULT_GUI_FONT) so we're
- // called fairly often - this is why we cache this particular font
- bool isDefaultRequested = index == wxSYS_DEFAULT_GUI_FONT;
- if ( isDefaultRequested && gs_fontDefault )
+ // called fairly often -- this is why we cache this particular font
+ const bool isDefaultRequested = index == wxSYS_DEFAULT_GUI_FONT;
+ if ( isDefaultRequested )
{
- return *gs_fontDefault;
+ if ( gs_fontDefault )
+ return *gs_fontDefault;
}
wxFont font = wxCreateFontFromStockObject(index);
return FALSE;
}
}
+
+// ----------------------------------------------------------------------------
+// function from wx/msw/wrapcctl.h: there is really no other place for it...
+// ----------------------------------------------------------------------------
+
+#if wxUSE_LISTCTRL || wxUSE_TREECTRL
+
+extern wxFont wxGetCCDefaultFont()
+{
+#ifndef __WXWINCE__
+ // under the systems enumerated below (anything released after Win98), the
+ // default font used for the common controls seems to be the desktop font
+ // which is also used for the icon titles and not the stock default GUI
+ // font
+ bool useIconFont;
+ int verMaj, verMin;
+ switch ( wxGetOsVersion(&verMaj, &verMin) )
+ {
+ case wxWIN95:
+ // 4.10 is Win98
+ useIconFont = verMin == 4 && verMin >= 10;
+ break;
+
+ case wxWINDOWS_NT:
+ // 5.0 is Win2k
+ useIconFont = verMaj >= 5;
+ break;
+
+ default:
+ useIconFont = false;
+ }
+
+ if ( useIconFont )
+ {
+ LOGFONT lf;
+ if ( ::SystemParametersInfo
+ (
+ SPI_GETICONTITLELOGFONT,
+ sizeof(lf),
+ &lf,
+ 0
+ ) )
+ {
+ return wxFont(wxCreateFontFromLogFont(&lf));
+ }
+ else
+ {
+ wxLogLastError(_T("SystemParametersInfo(SPI_GETICONTITLELOGFONT"));
+ }
+ }
+#endif // __WXWINCE__
+
+ // fall back to the default font for the normal controls
+ return wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+}
+
+#endif // wxUSE_LISTCTRL || wxUSE_TREECTRL