X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00500f403cff8f1596157337b23fe2b40d51452b..f009156727ddfbca08197b63d0fbee00df4078f5:/src/mac/carbon/settings.cpp diff --git a/src/mac/carbon/settings.cpp b/src/mac/carbon/settings.cpp index b272f5f5dd..4ddb2a4582 100644 --- a/src/mac/carbon/settings.cpp +++ b/src/mac/carbon/settings.cpp @@ -1,11 +1,11 @@ ///////////////////////////////////////////////////////////////////////////// // Name: settings.cpp // Purpose: wxSettings -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR +// Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,7 +17,17 @@ #include "wx/gdicmn.h" #include "wx/utils.h" -wxColour wxSystemSettings::GetSystemColour(int index) +#include "wx/mac/uma.h" + +// ---------------------------------------------------------------------------- +// wxSystemSettingsNative +// ---------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------- +// colours +// ---------------------------------------------------------------------------- + +wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) { int major,minor; wxGetOsVersion( &major, &minor ); @@ -34,6 +44,7 @@ wxColour wxSystemSettings::GetSystemColour(int index) case wxSYS_COLOUR_ACTIVEBORDER: case wxSYS_COLOUR_INACTIVEBORDER: case wxSYS_COLOUR_BTNFACE: + case wxSYS_COLOUR_MENUBAR: return wxColor( 0xDD , 0xDD , 0xDD ) ; break ; @@ -46,7 +57,10 @@ wxColour wxSystemSettings::GetSystemColour(int 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: @@ -89,11 +103,26 @@ wxColour wxSystemSettings::GetSystemColour(int index) case wxSYS_COLOUR_APPWORKSPACE: return *wxWHITE ; break ; + + case wxSYS_COLOUR_HOTLIGHT: + case wxSYS_COLOUR_GRADIENTACTIVECAPTION: + case wxSYS_COLOUR_GRADIENTINACTIVECAPTION: + case wxSYS_COLOUR_MENUHILIGHT: + // TODO + return *wxBLACK; + + case wxSYS_COLOUR_MAX: + wxFAIL_MSG( _T("unknown system colour index") ); + break ; } return *wxWHITE; } -wxFont wxSystemSettings::GetSystemFont(int index) +// ---------------------------------------------------------------------------- +// fonts +// ---------------------------------------------------------------------------- + +wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) { switch (index) { @@ -118,16 +147,23 @@ wxFont wxSystemSettings::GetSystemFont(int index) return *wxNORMAL_FONT; } +// ---------------------------------------------------------------------------- +// system metrics/features +// ---------------------------------------------------------------------------- + // Get a system metric, e.g. scrollbar size -int wxSystemSettings::GetSystemMetric(int index) +int wxSystemSettingsNative::GetMetric(wxSystemMetric index) { + int value; + switch ( index) { case wxSYS_MOUSE_BUTTONS: - return 2; // we emulate a two button mouse (ctrl + click = right button ) + // we emulate a two button mouse (ctrl + click = right button ) + return 2; case wxSYS_BORDER_X: // TODO - return 0; + return 0; case wxSYS_BORDER_Y: // TODO return 0; @@ -156,11 +192,11 @@ int wxSystemSettings::GetSystemMetric(int index) // TODO return 0; case wxSYS_HSCROLL_ARROW_X: - return 16; + return 16; case wxSYS_HSCROLL_ARROW_Y: - return 16; + return 16; case wxSYS_HTHUMB_X: - return 16; + return 16; case wxSYS_ICON_X: // TODO return 0; @@ -180,11 +216,11 @@ int wxSystemSettings::GetSystemMetric(int index) // TODO return 0; case wxSYS_SCREEN_X: - // TODO - return 0; + wxDisplaySize(&value, NULL); + return value; case wxSYS_SCREEN_Y: - // TODO - return 0; + wxDisplaySize(NULL, &value); + return value; case wxSYS_FRAMESIZE_X: // TODO return 0; @@ -198,44 +234,45 @@ int wxSystemSettings::GetSystemMetric(int index) // TODO return 0; case wxSYS_HSCROLL_Y: - return 16; + return 16; case wxSYS_VSCROLL_X: - return 16; + return 16; case wxSYS_VSCROLL_ARROW_X: - return 16; + return 16; case wxSYS_VSCROLL_ARROW_Y: - return 16; + return 16; case wxSYS_VTHUMB_Y: - return 16; + return 16; case wxSYS_CAPTION_Y: // TODO - return 0; + return 0; case wxSYS_MENU_Y: // TODO - return 0; + return 0; case wxSYS_NETWORK_PRESENT: // TODO - return 0; + return 0; case wxSYS_PENWINDOWS_PRESENT: - return 0; + return 0; case wxSYS_SHOW_SOUNDS: // TODO return 0; case wxSYS_SWAP_BUTTONS: - return 0; - default: - return 0; + return 0; + default: + return 0; } return 0; } -bool wxSystemSettings::GetCapability(int index) +bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) { switch (index) { case wxSYS_CAN_ICONIZE_FRAME: case wxSYS_CAN_DRAW_FRAME_DECORATIONS: - return TRUE; break; + return TRUE; + default: return FALSE; }