X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f0c8f31f407ecfce909060464c0ea655221cdab..233f573883834b6c86ad5a9d72fdb6a260f74f81:/src/osx/carbon/settings.cpp diff --git a/src/osx/carbon/settings.cpp b/src/osx/carbon/settings.cpp index ae7625872c..bc6b13ad73 100644 --- a/src/osx/carbon/settings.cpp +++ b/src/osx/carbon/settings.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/mac/carbon/settings.cpp +// Name: src/osx/carbon/settings.cpp // Purpose: wxSettings // Author: Stefan Csomor // Modified by: @@ -18,7 +18,8 @@ #include "wx/gdicmn.h" #endif -#include "wx/osx/uma.h" +#include "wx/osx/private.h" +#include "wx/fontenum.h" // ---------------------------------------------------------------------------- // wxSystemSettingsNative @@ -31,12 +32,18 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) { wxColour resultColor; +#if wxOSX_USE_COCOA_OR_CARBON ThemeBrush colorBrushID; +#endif switch ( index ) { case wxSYS_COLOUR_WINDOW: - resultColor = *wxWHITE ; +#if wxOSX_USE_COCOA_OR_CARBON + resultColor = wxColour(wxMacCreateCGColorFromHITheme( 15 /* kThemeBrushDocumentWindowBackground */ )) ; +#else + resultColor = *wxWHITE; +#endif break ; case wxSYS_COLOUR_SCROLLBAR : case wxSYS_COLOUR_BACKGROUND: @@ -48,7 +55,11 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) case wxSYS_COLOUR_INACTIVEBORDER: case wxSYS_COLOUR_BTNFACE: case wxSYS_COLOUR_MENUBAR: - resultColor = wxColor( 0xDD, 0xDD, 0xDD ); +#if wxOSX_USE_COCOA_OR_CARBON + resultColor = wxColour(wxMacCreateCGColorFromHITheme( 3 /* kThemeBrushDialogBackgroundActive */)); +#else + resultColor = wxColour( 0xBE, 0xBE, 0xBE ) ; +#endif break ; case wxSYS_COLOUR_LISTBOX : @@ -56,7 +67,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) break ; case wxSYS_COLOUR_BTNSHADOW: - resultColor = wxColor( 0xBE, 0xBE, 0xBE ); + resultColor = wxColour( 0xBE, 0xBE, 0xBE ); break ; case wxSYS_COLOUR_BTNTEXT: @@ -65,18 +76,23 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) case wxSYS_COLOUR_CAPTIONTEXT: case wxSYS_COLOUR_INFOTEXT: case wxSYS_COLOUR_INACTIVECAPTIONTEXT: + case wxSYS_COLOUR_LISTBOXTEXT: resultColor = *wxBLACK; break ; case wxSYS_COLOUR_HIGHLIGHT: { +#if wxOSX_USE_COCOA_OR_CARBON #if 0 // NB: enable this case as desired colorBrushID = kThemeBrushAlternatePrimaryHighlightColor; #else - colorBrushID = kThemeBrushPrimaryHighlightColor; + colorBrushID = -3 /* kThemeBrushPrimaryHighlightColor */; +#endif + resultColor = wxColour( wxMacCreateCGColorFromHITheme(colorBrushID) ); +#else + resultColor = wxColor( 0xCC, 0xCC, 0xFF ); #endif - resultColor = wxColor( wxMacCreateCGColorFromHITheme(colorBrushID) ); } break ; @@ -94,17 +110,16 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) break ; case wxSYS_COLOUR_HIGHLIGHTTEXT : -#if 0 - // NB: enable this case as desired - resultColor = *wxWHITE ; -#else +#if wxOSX_USE_COCOA_OR_CARBON { - wxColour highlightcolor( wxMacCreateCGColorFromHITheme(kThemeBrushPrimaryHighlightColor) ); + wxColour highlightcolor( wxMacCreateCGColorFromHITheme(-3 /* kThemeBrushPrimaryHighlightColor */) ); if ((highlightcolor.Red() + highlightcolor.Green() + highlightcolor.Blue() ) == 0) resultColor = *wxWHITE ; else resultColor = *wxBLACK ; } +#else + resultColor = *wxWHITE ; #endif break ; @@ -128,10 +143,12 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) // case wxSYS_COLOUR_MAX: default: resultColor = *wxWHITE; - // wxCHECK_MSG( index >= wxSYS_COLOUR_MAX, false, _T("unknown system colour index") ); + // wxCHECK_MSG( index >= wxSYS_COLOUR_MAX, false, wxT("unknown system colour index") ); break ; } + //wxASSERT(resultColor.IsOk()); + return resultColor; } @@ -141,20 +158,25 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) { + wxFont font; + switch (index) { case wxSYS_ANSI_VAR_FONT : case wxSYS_SYSTEM_FONT : case wxSYS_DEVICE_DEFAULT_FONT : case wxSYS_DEFAULT_GUI_FONT : - return *wxSMALL_FONT ; + font = *wxSMALL_FONT ; break ; default : + font = *wxNORMAL_FONT ; break ; } - return *wxNORMAL_FONT; + //wxASSERT(font.IsOk() && wxFontEnumerator::IsValidFacename(font.GetFaceName())); + + return font; } // ---------------------------------------------------------------------------- @@ -227,12 +249,12 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(w // TODO: case wxSYS_SHOW_SOUNDS: case wxSYS_DCLICK_MSEC: -#ifdef __LP64__ - // default on mac is 30 ticks, we shouldn't really use wxSYS_DCLICK_MSEC anyway +#if wxOSX_USE_CARBON + return (int)(GetDblTime() * 1000. / 60.); +#else + // default on mac is 30 ticks, we shouldn't really use wxSYS_DCLICK_MSEC anyway // but rather rely on the 'click-count' by the system delivered in a mouse event return 500; -#else - return (int)(GetDblTime() * 1000. / 60.); #endif default: // unsupported metric