1 ///////////////////////////////////////////////////////////////////////////// 
   8 // Copyright:   (c) AUTHOR 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  13 #pragma implementation "settings.h" 
  16 #include "wx/settings.h" 
  17 #include "wx/gdicmn.h" 
  20 // ---------------------------------------------------------------------------- 
  21 // wxSystemSettingsNative 
  22 // ---------------------------------------------------------------------------- 
  24 // ---------------------------------------------------------------------------- 
  26 // ---------------------------------------------------------------------------- 
  28 wxColour 
wxSystemSettingsNative::GetColour(wxSystemColour index
) 
  33     wxGetOsVersion( &major
, &minor 
); 
  37         case wxSYS_COLOUR_SCROLLBAR 
: 
  38         case wxSYS_COLOUR_BACKGROUND
: 
  39         case wxSYS_COLOUR_ACTIVECAPTION
: 
  40         case wxSYS_COLOUR_INACTIVECAPTION
: 
  41         case wxSYS_COLOUR_MENU
: 
  42         case wxSYS_COLOUR_WINDOW
: 
  43         case wxSYS_COLOUR_WINDOWFRAME
: 
  44         case wxSYS_COLOUR_ACTIVEBORDER
: 
  45         case wxSYS_COLOUR_INACTIVEBORDER
: 
  46         case wxSYS_COLOUR_BTNFACE
: 
  47         case wxSYS_COLOUR_MENUBAR
: 
  48             return wxColor( 0xDD , 0xDD , 0xDD ) ; 
  51         case wxSYS_COLOUR_LISTBOX 
: 
  56                 return wxColor( 0xEE , 0xEE , 0xEE ) ; 
  59         case wxSYS_COLOUR_BTNSHADOW
: 
  60             return wxColor( 0x44 , 0x44 , 0x44 ) ; 
  63         case wxSYS_COLOUR_BTNTEXT
: 
  64         case wxSYS_COLOUR_MENUTEXT
: 
  65         case wxSYS_COLOUR_WINDOWTEXT
: 
  66         case wxSYS_COLOUR_CAPTIONTEXT
: 
  67         case wxSYS_COLOUR_INFOTEXT
: 
  68         case wxSYS_COLOUR_INACTIVECAPTIONTEXT
: 
  71         case wxSYS_COLOUR_HIGHLIGHT
: 
  74                 LMGetHiliteRGB(&hilite
) ; 
  75                 return wxColor( hilite
.red 
>> 8 , hilite
.green 
>> 8  , hilite
.blue 
>> 8  ) ; 
  78         case wxSYS_COLOUR_BTNHIGHLIGHT
: 
  79         case wxSYS_COLOUR_GRAYTEXT
: 
  80             return wxColor( 0xCC , 0xCC , 0xCC ) ; 
  83         case wxSYS_COLOUR_3DDKSHADOW
: 
  84             return wxColor( 0x44 , 0x44 , 0x44 ) ; 
  86         case wxSYS_COLOUR_3DLIGHT
: 
  87             return wxColor( 0xCC , 0xCC , 0xCC ) ; 
  89         case wxSYS_COLOUR_HIGHLIGHTTEXT 
: 
  92                 LMGetHiliteRGB(&hilite
) ; 
  93                 if ( ( hilite
.red 
+ hilite
.green 
+ hilite
.blue 
) == 0 ) 
  99         case wxSYS_COLOUR_INFOBK 
: 
 100         case wxSYS_COLOUR_APPWORKSPACE
:  
 104         case wxSYS_COLOUR_HOTLIGHT
: 
 105         case wxSYS_COLOUR_GRADIENTACTIVECAPTION
: 
 106         case wxSYS_COLOUR_GRADIENTINACTIVECAPTION
: 
 107         case wxSYS_COLOUR_MENUHILIGHT
: 
 111         case wxSYS_COLOUR_MAX
: 
 112             wxFAIL_MSG( _T("unknown system colour index") ); 
 119 // ---------------------------------------------------------------------------- 
 121 // ---------------------------------------------------------------------------- 
 123 wxFont 
wxSystemSettingsNative::GetFont(wxSystemFont index
) 
 125 // return a nonworking font object, crash from wxInitializeStockObjects 
 129         case wxSYS_ANSI_VAR_FONT 
: 
 130         case wxSYS_SYSTEM_FONT 
: 
 131         case wxSYS_DEVICE_DEFAULT_FONT 
: 
 132         case wxSYS_DEFAULT_GUI_FONT 
: 
 134                 return *wxSMALL_FONT 
; 
 137         case wxSYS_OEM_FIXED_FONT 
: 
 138         case wxSYS_ANSI_FIXED_FONT 
: 
 139         case wxSYS_SYSTEM_FIXED_FONT 
: 
 142                 return *wxNORMAL_FONT 
; 
 147     return *wxNORMAL_FONT
; 
 150 // ---------------------------------------------------------------------------- 
 151 // system metrics/features 
 152 // ---------------------------------------------------------------------------- 
 154 // Get a system metric, e.g. scrollbar size 
 155 int wxSystemSettingsNative::GetMetric(wxSystemMetric index
) 
 159         case wxSYS_MOUSE_BUTTONS
: 
 160                     return 2; // we emulate a two button mouse (ctrl + click = right button ) 
 191         case wxSYS_HSCROLL_ARROW_X
: 
 193         case wxSYS_HSCROLL_ARROW_Y
: 
 203         case wxSYS_ICONSPACING_X
: 
 206         case wxSYS_ICONSPACING_Y
: 
 209         case wxSYS_WINDOWMIN_X
: 
 212         case wxSYS_WINDOWMIN_Y
: 
 221         case wxSYS_FRAMESIZE_X
: 
 224         case wxSYS_FRAMESIZE_Y
: 
 227         case wxSYS_SMALLICON_X
: 
 230         case wxSYS_SMALLICON_Y
: 
 233         case wxSYS_HSCROLL_Y
: 
 235         case wxSYS_VSCROLL_X
: 
 237         case wxSYS_VSCROLL_ARROW_X
: 
 239         case wxSYS_VSCROLL_ARROW_Y
: 
 243         case wxSYS_CAPTION_Y
: 
 249         case wxSYS_NETWORK_PRESENT
: 
 252         case wxSYS_PENWINDOWS_PRESENT
: 
 254         case wxSYS_SHOW_SOUNDS
: 
 257         case wxSYS_SWAP_BUTTONS
: 
 265 bool wxSystemSettingsNative::HasFeature(wxSystemFeature index
) 
 269         case wxSYS_CAN_ICONIZE_FRAME
:  
 270         case wxSYS_CAN_DRAW_FRAME_DECORATIONS
: