+ // SM_SWAPBUTTON is not available under CE and it doesn't make sense to ask
+ // for it there
+#ifdef SM_SWAPBUTTON
+ SM_SWAPBUTTON,
+#else
+ -1,
+#endif
+ -1 // wxSYS_DCLICK_MSEC - not available as system metric
+};
+
+// Get a system metric, e.g. scrollbar size
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(win))
+{
+#ifdef __WXMICROWIN__
+ // TODO: probably use wxUniv themes functionality
+ return 0;
+#else // !__WXMICROWIN__
+ wxCHECK_MSG( index > 0 && (size_t)index < WXSIZEOF(gs_metricsMap), 0,
+ wxT("invalid metric") );
+
+ if ( index == wxSYS_DCLICK_MSEC )
+ {
+ // This one is not a Win32 system metric
+ return ::GetDoubleClickTime();
+ }
+
+ int indexMSW = gs_metricsMap[index];
+ if ( indexMSW == -1 )
+ {
+ // not supported under current system
+ return -1;
+ }
+
+ int rc = ::GetSystemMetrics(indexMSW);
+ if ( index == wxSYS_NETWORK_PRESENT )
+ {
+ // only the last bit is significant according to the MSDN
+ rc &= 1;
+ }
+
+ return rc;
+#endif // __WXMICROWIN__/!__WXMICROWIN__
+}
+
+bool wxSystemSettingsNative::HasFeature(wxSystemFeature index)
+{
+ switch ( index )
+ {
+ case wxSYS_CAN_ICONIZE_FRAME:
+ case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
+ return true;
+
+ case wxSYS_TABLET_PRESENT:
+ return ::GetSystemMetrics(SM_TABLETPC) != 0;
+
+ default:
+ wxFAIL_MSG( wxT("unknown system feature") );
+
+ 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 wxOS_WINDOWS_9X:
+ // 4.10 is Win98
+ useIconFont = verMaj == 4 && verMin >= 10;
+ break;
+
+ case wxOS_WINDOWS_NT:
+ // 5.0 is Win2k
+ useIconFont = verMaj >= 5;
+ break;
+