X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9576ca53db96b462ed4c0b4bdf47d64c40203e4..29149a64916d6fdc53e445adca9ef83bc58fb6c3:/src/mac/settings.cpp?ds=inline diff --git a/src/mac/settings.cpp b/src/mac/settings.cpp index 2beda5c2a6..df2800a97b 100644 --- a/src/mac/settings.cpp +++ b/src/mac/settings.cpp @@ -14,42 +14,99 @@ #endif #include "wx/settings.h" +#include "wx/gdicmn.h" wxColour wxSystemSettings::GetSystemColour(int index) { - // TODO - return wxColour(); + switch( index ) + { + case wxSYS_COLOUR_SCROLLBAR : + case wxSYS_COLOUR_BACKGROUND: + case wxSYS_COLOUR_ACTIVECAPTION: + case wxSYS_COLOUR_INACTIVECAPTION: + case wxSYS_COLOUR_MENU: + case wxSYS_COLOUR_WINDOW: + case wxSYS_COLOUR_WINDOWFRAME: + case wxSYS_COLOUR_ACTIVEBORDER: + case wxSYS_COLOUR_INACTIVEBORDER: + case wxSYS_COLOUR_BTNFACE: + return wxColor( 0xDD , 0xDD , 0xDD ) ; + break ; + + case wxSYS_COLOUR_LISTBOX : + return wxColor( 0xEE , 0xEE , 0xEE ) ; + break ; + case wxSYS_COLOUR_BTNSHADOW: + return wxColor( 0x44 , 0x44 , 0x44 ) ; + break ; + + case wxSYS_COLOUR_BTNTEXT: + case wxSYS_COLOUR_MENUTEXT: + case wxSYS_COLOUR_WINDOWTEXT: + case wxSYS_COLOUR_CAPTIONTEXT: + case wxSYS_COLOUR_INFOTEXT: + case wxSYS_COLOUR_INACTIVECAPTIONTEXT: + return *wxBLACK; + break ; + case wxSYS_COLOUR_HIGHLIGHT: + { + RGBColor hilite ; + LMGetHiliteRGB(&hilite) ; + return wxColor( hilite.red >> 8 , hilite.green >> 8 , hilite.blue >> 8 ) ; + } + break ; + case wxSYS_COLOUR_BTNHIGHLIGHT: + case wxSYS_COLOUR_GRAYTEXT: + return wxColor( 0xCC , 0xCC , 0xCC ) ; + break ; + + case wxSYS_COLOUR_3DDKSHADOW: + return wxColor( 0x44 , 0x44 , 0x44 ) ; + break ; + case wxSYS_COLOUR_3DLIGHT: + return wxColor( 0xCC , 0xCC , 0xCC ) ; + break ; + case wxSYS_COLOUR_HIGHLIGHTTEXT : + { + RGBColor hilite ; + LMGetHiliteRGB(&hilite) ; + if ( ( hilite.red + hilite.green + hilite.blue ) == 0 ) + return *wxWHITE ; + else + return *wxBLACK ; + } + break ; + case wxSYS_COLOUR_INFOBK : + case wxSYS_COLOUR_APPWORKSPACE: + return *wxWHITE ; + break ; + } + return *wxWHITE; } wxFont wxSystemSettings::GetSystemFont(int index) { - // TODO switch (index) { - case wxSYS_DEVICE_DEFAULT_FONT: - { - break; - } - case wxSYS_DEFAULT_PALETTE: - { - break; - } - case wxSYS_SYSTEM_FIXED_FONT: - { - break; - } - case wxSYS_SYSTEM_FONT: - { - break; - } - default: - case wxSYS_DEFAULT_GUI_FONT: - { - break; - } + case wxSYS_ANSI_VAR_FONT : + case wxSYS_SYSTEM_FONT : + case wxSYS_DEVICE_DEFAULT_FONT : + 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 wxFont(); + return *wxNORMAL_FONT; } // Get a system metric, e.g. scrollbar size @@ -58,11 +115,10 @@ int wxSystemSettings::GetSystemMetric(int index) switch ( index) { case wxSYS_MOUSE_BUTTONS: - // TODO - return 0; + return 2; // we emulate a two button mouse (ctrl + click = right button ) case wxSYS_BORDER_X: // TODO - return 0; + return 0; case wxSYS_BORDER_Y: // TODO return 0; @@ -91,14 +147,11 @@ int wxSystemSettings::GetSystemMetric(int index) // TODO return 0; case wxSYS_HSCROLL_ARROW_X: - // TODO - return 0; + return 16; case wxSYS_HSCROLL_ARROW_Y: - // TODO - return 0; + return 16; case wxSYS_HTHUMB_X: - // TODO - return 0; + return 16; case wxSYS_ICON_X: // TODO return 0; @@ -136,40 +189,33 @@ int wxSystemSettings::GetSystemMetric(int index) // TODO return 0; case wxSYS_HSCROLL_Y: - // TODO - return 0; + return 16; case wxSYS_VSCROLL_X: - // TODO - return 0; + return 16; case wxSYS_VSCROLL_ARROW_X: - // TODO - return 0; + return 16; case wxSYS_VSCROLL_ARROW_Y: - // TODO - return 0; + return 16; case wxSYS_VTHUMB_Y: - // TODO - return 0; + 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: - // TODO - return 0; + return 0; case wxSYS_SHOW_SOUNDS: // TODO return 0; case wxSYS_SWAP_BUTTONS: - // TODO - return 0; - default: - return 0; + return 0; + default: + return 0; } return 0; }