X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/57f4f9255e3d70e219e6eabd68c3990c0f471f81..94972183b9ba592cee3a48e7052b3b16d8794dec:/src/msw/settings.cpp diff --git a/src/msw/settings.cpp b/src/msw/settings.cpp index 32059690a7..bee65992b7 100644 --- a/src/msw/settings.cpp +++ b/src/msw/settings.cpp @@ -24,13 +24,13 @@ #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 @@ -40,9 +40,8 @@ #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 @@ -172,7 +171,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) index = wxSYS_COLOUR_MENU ; } } - } + } if ( useDefault ) { @@ -225,6 +224,13 @@ wxFont wxCreateFontFromStockObject(int index) { 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. @@ -260,7 +266,7 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) 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 ) @@ -303,8 +309,12 @@ static const int gs_metricsMap[] = 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) @@ -377,7 +387,7 @@ static const int gs_metricsMap[] = }; // 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 @@ -390,7 +400,7 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index) if ( indexMSW == -1 ) { // not supported under current system - return 0; + return -1; } int rc = ::GetSystemMetrics(indexMSW); @@ -412,6 +422,9 @@ bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) case wxSYS_CAN_DRAW_FRAME_DECORATIONS: return true; + case wxSYS_TABLET_PRESENT: + return ::GetSystemMetrics(SM_TABLETPC) != 0; + default: wxFAIL_MSG( _T("unknown system feature") ); @@ -438,7 +451,7 @@ extern wxFont wxGetCCDefaultFont() { case wxWIN95: // 4.10 is Win98 - useIconFont = verMin == 4 && verMin >= 10; + useIconFont = verMaj == 4 && verMin >= 10; break; case wxWINDOWS_NT: