- 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;
+ 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 :
+ // we don't have a way to detect tooltip color, so use the
+ // standard value used at least on 10.4:
+ resultColor = wxColour( 0xFF, 0xFF, 0xD3 ) ;
+ 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;