#pragma hdrstop
#endif
+#include "wx/settings.h"
+
#ifndef WX_PRECOMP
#include "wx/utils.h"
#include "wx/gdicmn.h"
#endif
-#include "wx/settings.h"
-
#include "wx/msw/private.h"
#ifndef SPI_GETFLATMENU
#include "wx/module.h"
#include "wx/fontutil.h"
-#ifdef __WXWINCE__ // for SM_CXCURSOR and SM_CYCURSOR
-#include "wx/msw/wince/missing.h"
-#endif // __WXWINCE__
+// for SM_CXCURSOR, SM_CYCURSOR, SM_TABLETPC
+#include "wx/msw/missing.h"
// ----------------------------------------------------------------------------
// private classes
index = wxSYS_COLOUR_MENU ;
}
}
- }
+ }
if ( useDefault )
{
{
wxNativeFontInfo info;
info.lf = lf;
+#ifndef __WXWINCE__
+ // We want Windows 2000 or later to have new fonts even MS Shell Dlg
+ // is returned as default GUI font for compatibility
+ int verMaj;
+ if(index == DEFAULT_GUI_FONT && wxGetOsVersion(&verMaj) == wxWINDOWS_NT && verMaj >= 5)
+ wxStrcpy(info.lf.lfFaceName, wxT("MS Shell Dlg 2"));
+#endif
// Under MicroWindows we pass the HFONT as well
// because it's hard to convert HFONT -> LOGFONT -> HFONT
// It's OK to delete stock objects, the delete will be ignored.
return *gs_fontDefault;
#else // !__WXWINCE__
- // wxWindow ctor calls GetSystemFont(wxSYS_DEFAULT_GUI_FONT) so we're
+ // wxWindow ctor calls GetFont(wxSYS_DEFAULT_GUI_FONT) so we're
// called fairly often -- this is why we cache this particular font
const bool isDefaultRequested = index == wxSYS_DEFAULT_GUI_FONT;
if ( isDefaultRequested )
SM_CXBORDER,
SM_CYBORDER,
+#ifdef SM_CXCURSOR
SM_CXCURSOR,
SM_CYCURSOR,
+#else
+ -1, -1,
+#endif
SM_CXDOUBLECLK,
SM_CYDOUBLECLK,
#if defined(__WIN32__) && defined(SM_CXDRAG)
};
// Get a system metric, e.g. scrollbar size
-int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(win))
{
#ifdef __WXMICROWIN__
// TODO: probably use wxUniv themes functionality
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
return true;
+ case wxSYS_TABLET_PRESENT:
+ return ::GetSystemMetrics(SM_TABLETPC) != 0;
+
default:
wxFAIL_MSG( _T("unknown system feature") );
{
case wxWIN95:
// 4.10 is Win98
- useIconFont = verMin == 4 && verMin >= 10;
+ useIconFont = verMaj == 4 && verMin >= 10;
break;
case wxWINDOWS_NT: