X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a31a5f85341a2ef131d86a1dee12f3d6c8156118..6db6bfd1ce8c6c4b06a74e04fad3470ac792a770:/src/mac/carbon/settings.cpp diff --git a/src/mac/carbon/settings.cpp b/src/mac/carbon/settings.cpp index 9c33a5bf2f..d1ceaeae1a 100644 --- a/src/mac/carbon/settings.cpp +++ b/src/mac/carbon/settings.cpp @@ -9,10 +9,12 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "settings.h" #endif +#include "wx/wxprec.h" + #include "wx/settings.h" #include "wx/gdicmn.h" #include "wx/utils.h" @@ -31,7 +33,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) { int major,minor; wxGetOsVersion( &major, &minor ); - + switch( index ) { case wxSYS_COLOUR_SCROLLBAR : @@ -57,7 +59,10 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) break ; } case wxSYS_COLOUR_BTNSHADOW: - return wxColor( 0x44 , 0x44 , 0x44 ) ; + if (major >= 10) + return wxColor( 0xBE , 0xBE , 0xBE ) ; + else + return wxColor( 0x44 , 0x44 , 0x44 ) ; break ; case wxSYS_COLOUR_BTNTEXT: @@ -71,7 +76,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) case wxSYS_COLOUR_HIGHLIGHT: { RGBColor hilite ; - LMGetHiliteRGB(&hilite) ; + GetThemeBrushAsColor( kThemeBrushPrimaryHighlightColor, 32, true, &hilite ); return wxColor( hilite.red >> 8 , hilite.green >> 8 , hilite.blue >> 8 ) ; } break ; @@ -79,7 +84,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) case wxSYS_COLOUR_GRAYTEXT: return wxColor( 0xCC , 0xCC , 0xCC ) ; break ; - + case wxSYS_COLOUR_3DDKSHADOW: return wxColor( 0x44 , 0x44 , 0x44 ) ; break ; @@ -89,7 +94,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) case wxSYS_COLOUR_HIGHLIGHTTEXT : { RGBColor hilite ; - LMGetHiliteRGB(&hilite) ; + GetThemeBrushAsColor( kThemeBrushPrimaryHighlightColor, 32, true, &hilite ); if ( ( hilite.red + hilite.green + hilite.blue ) == 0 ) return *wxWHITE ; else @@ -97,7 +102,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) } break ; case wxSYS_COLOUR_INFOBK : - case wxSYS_COLOUR_APPWORKSPACE: + case wxSYS_COLOUR_APPWORKSPACE: return *wxWHITE ; break ; @@ -107,7 +112,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) case wxSYS_COLOUR_MENUHILIGHT: // TODO return *wxBLACK; - + case wxSYS_COLOUR_MAX: wxFAIL_MSG( _T("unknown system colour index") ); break ; @@ -129,17 +134,11 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) case wxSYS_DEFAULT_GUI_FONT : { return *wxSMALL_FONT ; - } ; + } ; break ; - case wxSYS_OEM_FIXED_FONT : - case wxSYS_ANSI_FIXED_FONT : - case wxSYS_SYSTEM_FIXED_FONT : + default : - { - return *wxNORMAL_FONT ; - } ; break ; - } return *wxNORMAL_FONT; } @@ -149,84 +148,53 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) // ---------------------------------------------------------------------------- // Get a system metric, e.g. scrollbar size -int wxSystemSettingsNative::GetMetric(wxSystemMetric index) +int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(win)) { + int value; + switch ( index) { case wxSYS_MOUSE_BUTTONS: - return 2; // we emulate a two button mouse (ctrl + click = right button ) - case wxSYS_BORDER_X: - // TODO - return 0; - case wxSYS_BORDER_Y: - // TODO - return 0; - case wxSYS_CURSOR_X: - // TODO - return 0; - case wxSYS_CURSOR_Y: - // TODO - return 0; - case wxSYS_DCLICK_X: - // TODO - return 0; - case wxSYS_DCLICK_Y: - // TODO - return 0; - case wxSYS_DRAG_X: - // TODO - return 0; - case wxSYS_DRAG_Y: - // TODO - return 0; - case wxSYS_EDGE_X: - // TODO - return 0; - case wxSYS_EDGE_Y: - // TODO - return 0; + // we emulate a two button mouse (ctrl + click = right button ) + return 2; + + // TODO case wxSYS_BORDER_X: + // TODO case wxSYS_BORDER_Y: + // TODO case wxSYS_CURSOR_X: + // TODO case wxSYS_CURSOR_Y: + // TODO case wxSYS_DCLICK_X: + // TODO case wxSYS_DCLICK_Y: + // TODO case wxSYS_DRAG_X: + // TODO case wxSYS_DRAG_Y: + // TODO case wxSYS_EDGE_X: + // TODO case wxSYS_EDGE_Y: + case wxSYS_HSCROLL_ARROW_X: return 16; case wxSYS_HSCROLL_ARROW_Y: return 16; case wxSYS_HTHUMB_X: return 16; - case wxSYS_ICON_X: - // TODO - return 0; - case wxSYS_ICON_Y: - // TODO - return 0; - case wxSYS_ICONSPACING_X: - // TODO - return 0; - case wxSYS_ICONSPACING_Y: - // TODO - return 0; - case wxSYS_WINDOWMIN_X: - // TODO - return 0; - case wxSYS_WINDOWMIN_Y: - // TODO - return 0; + + // TODO case wxSYS_ICON_X: + // TODO case wxSYS_ICON_Y: + // TODO case wxSYS_ICONSPACING_X: + // TODO case wxSYS_ICONSPACING_Y: + // TODO case wxSYS_WINDOWMIN_X: + // TODO case wxSYS_WINDOWMIN_Y: + case wxSYS_SCREEN_X: - // TODO - return 0; + wxDisplaySize(&value, NULL); + return value; case wxSYS_SCREEN_Y: - // TODO - return 0; - case wxSYS_FRAMESIZE_X: - // TODO - return 0; - case wxSYS_FRAMESIZE_Y: - // TODO - return 0; - case wxSYS_SMALLICON_X: - // TODO - return 0; - case wxSYS_SMALLICON_Y: - // TODO - return 0; + wxDisplaySize(NULL, &value); + return value; + + // TODO case wxSYS_FRAMESIZE_X: + // TODO case wxSYS_FRAMESIZE_Y: + // TODO case wxSYS_SMALLICON_X: + // TODO case wxSYS_SMALLICON_Y: + case wxSYS_HSCROLL_Y: return 16; case wxSYS_VSCROLL_X: @@ -237,37 +205,34 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index) return 16; case wxSYS_VTHUMB_Y: return 16; - case wxSYS_CAPTION_Y: - // TODO - return 0; - case wxSYS_MENU_Y: - // TODO - return 0; - case wxSYS_NETWORK_PRESENT: - // TODO - return 0; + + // TODO case wxSYS_CAPTION_Y: + // TODO case wxSYS_MENU_Y: + // TODO case wxSYS_NETWORK_PRESENT: + case wxSYS_PENWINDOWS_PRESENT: return 0; - case wxSYS_SHOW_SOUNDS: - // TODO - return 0; + + // TODO case wxSYS_SHOW_SOUNDS: + case wxSYS_SWAP_BUTTONS: return 0; + default: - return 0; + break; // unsupported metric } - return 0; + return -1; } bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) { switch (index) { - case wxSYS_CAN_ICONIZE_FRAME: + case wxSYS_CAN_ICONIZE_FRAME: case wxSYS_CAN_DRAW_FRAME_DECORATIONS: - return TRUE; - + return true; + default: - return FALSE; + return false; } }