+ wxColour resultColor;
+ ThemeBrush colorBrushID;
+
+ switch ( index )
+ {
+ case wxSYS_COLOUR_WINDOW:
+ resultColor = *wxWHITE ;
+ break ;
+ case wxSYS_COLOUR_SCROLLBAR :
+ case wxSYS_COLOUR_BACKGROUND:
+ case wxSYS_COLOUR_ACTIVECAPTION:
+ case wxSYS_COLOUR_INACTIVECAPTION:
+ case wxSYS_COLOUR_MENU:
+ case wxSYS_COLOUR_WINDOWFRAME:
+ case wxSYS_COLOUR_ACTIVEBORDER:
+ case wxSYS_COLOUR_INACTIVEBORDER:
+ case wxSYS_COLOUR_BTNFACE:
+ case wxSYS_COLOUR_MENUBAR:
+ resultColor = wxColor( 0xDD, 0xDD, 0xDD );
+ break ;
+
+ case wxSYS_COLOUR_LISTBOX :
+ resultColor = *wxWHITE ;
+ break ;
+
+ case wxSYS_COLOUR_BTNSHADOW:
+ resultColor = wxColor( 0xBE, 0xBE, 0xBE );
+ 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:
+ resultColor = *wxBLACK;
+ break ;
+
+ case wxSYS_COLOUR_HIGHLIGHT:
+ {
+#if 0
+ // NB: enable this case as desired
+ colorBrushID = kThemeBrushAlternatePrimaryHighlightColor;
+#else
+ colorBrushID = kThemeBrushPrimaryHighlightColor;
+#endif
+ resultColor = wxColor( wxMacCreateCGColorFromHITheme(colorBrushID) );
+ }
+ break ;
+
+ case wxSYS_COLOUR_BTNHIGHLIGHT:
+ case wxSYS_COLOUR_GRAYTEXT:
+ resultColor = wxColor( 0xCC, 0xCC, 0xCC );
+ break ;
+
+ case wxSYS_COLOUR_3DDKSHADOW:
+ resultColor = wxColor( 0x44, 0x44, 0x44 );
+ break ;
+
+ case wxSYS_COLOUR_3DLIGHT:
+ resultColor = wxColor( 0xCC, 0xCC, 0xCC );
+ break ;
+
+ case wxSYS_COLOUR_HIGHLIGHTTEXT :
+#if 0
+ // NB: enable this case as desired
+ resultColor = *wxWHITE ;
+#else
+ {
+ wxColour highlightcolor( wxMacCreateCGColorFromHITheme(kThemeBrushPrimaryHighlightColor) );
+ if ((highlightcolor.Red() + highlightcolor.Green() + highlightcolor.Blue() ) == 0)
+ resultColor = *wxWHITE ;
+ else
+ resultColor = *wxBLACK ;
+ }
+#endif
+ break ;
+
+ case wxSYS_COLOUR_INFOBK :
+ resultColor = *wxWHITE ;
+ break ;
+ case wxSYS_COLOUR_APPWORKSPACE:
+ resultColor = wxColor( 0x80, 0x80, 0x80 ); ;
+ break ;
+
+ case wxSYS_COLOUR_HOTLIGHT:
+ case wxSYS_COLOUR_GRADIENTACTIVECAPTION:
+ case wxSYS_COLOUR_GRADIENTINACTIVECAPTION:
+ case wxSYS_COLOUR_MENUHILIGHT:
+ // TODO:
+ resultColor = *wxBLACK;
+ break ;
+
+ // case wxSYS_COLOUR_MAX:
+ default:
+ resultColor = *wxWHITE;
+ // wxCHECK_MSG( index >= wxSYS_COLOUR_MAX, false, _T("unknown system colour index") );
+ break ;
+ }
+
+ return resultColor;