]> git.saurik.com Git - wxWidgets.git/blame - src/mac/carbon/settings.cpp
Fixed bug that was giving the wrong size of wxCustomDataObjects to the receiver.
[wxWidgets.git] / src / mac / carbon / settings.cpp
CommitLineData
e9576ca5
SC
1/////////////////////////////////////////////////////////////////////////////
2// Name: settings.cpp
3// Purpose: wxSettings
4// Author: AUTHOR
5// Modified by:
6// Created: ??/??/98
7// RCS-ID: $Id$
8// Copyright: (c) AUTHOR
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifdef __GNUG__
13#pragma implementation "settings.h"
14#endif
15
16#include "wx/settings.h"
17
18wxColour wxSystemSettings::GetSystemColour(int index)
19{
519cb848
SC
20 switch( index )
21 {
22 case wxSYS_COLOUR_SCROLLBAR :
23 case wxSYS_COLOUR_BACKGROUND:
24 case wxSYS_COLOUR_ACTIVECAPTION:
25 case wxSYS_COLOUR_INACTIVECAPTION:
26 case wxSYS_COLOUR_MENU:
27 case wxSYS_COLOUR_WINDOW:
28 case wxSYS_COLOUR_WINDOWFRAME:
29 case wxSYS_COLOUR_ACTIVEBORDER:
30 case wxSYS_COLOUR_INACTIVEBORDER:
31 case wxSYS_COLOUR_BTNFACE:
32 return wxColor( 0xDD , 0xDD , 0xDD ) ;
33 break ;
34
35 case wxSYS_COLOUR_BTNSHADOW:
36 return wxColor( 0x44 , 0x44 , 0x44 ) ;
37 break ;
38
39 case wxSYS_COLOUR_BTNTEXT:
40 case wxSYS_COLOUR_MENUTEXT:
41 case wxSYS_COLOUR_WINDOWTEXT:
42 case wxSYS_COLOUR_CAPTIONTEXT:
43 case wxSYS_COLOUR_INFOTEXT:
44 case wxSYS_COLOUR_INACTIVECAPTIONTEXT:
45 return *wxBLACK;
46 break ;
47 case wxSYS_COLOUR_HIGHLIGHT:
48 {
49 RGBColor hilite ;
50 LMGetHiliteRGB(&hilite) ;
51 return wxColor( hilite.red >> 8 , hilite.green >> 8 , hilite.blue >> 8 ) ;
52 }
53 break ;
54 case wxSYS_COLOUR_BTNHIGHLIGHT:
55 case wxSYS_COLOUR_GRAYTEXT:
56 return wxColor( 0xCC , 0xCC , 0xCC ) ;
57 break ;
58
59 case wxSYS_COLOUR_3DDKSHADOW:
60 return wxColor( 0x44 , 0x44 , 0x44 ) ;
61 break ;
62 case wxSYS_COLOUR_3DLIGHT:
63 return wxColor( 0xCC , 0xCC , 0xCC ) ;
64 break ;
65 case wxSYS_COLOUR_HIGHLIGHTTEXT :
66 {
67 RGBColor hilite ;
68 LMGetHiliteRGB(&hilite) ;
69 if ( ( hilite.red + hilite.green + hilite.blue ) == 0 )
70 return *wxWHITE ;
71 else
72 return *wxBLACK ;
73 }
74 break ;
75 case wxSYS_COLOUR_INFOBK :
76 case wxSYS_COLOUR_APPWORKSPACE:
77 return *wxWHITE ;
78 break ;
79 }
80 return *wxWHITE;
e9576ca5
SC
81}
82
83wxFont wxSystemSettings::GetSystemFont(int index)
84{
e9576ca5
SC
85 switch (index)
86 {
519cb848
SC
87 case wxSYS_ANSI_VAR_FONT :
88 case wxSYS_SYSTEM_FONT :
89 case wxSYS_DEVICE_DEFAULT_FONT :
90 case wxSYS_DEFAULT_GUI_FONT :
91 {
92 return *wxSMALL_FONT ;
93 } ;
94 break ;
95 case wxSYS_OEM_FIXED_FONT :
96 case wxSYS_ANSI_FIXED_FONT :
97 case wxSYS_SYSTEM_FIXED_FONT :
98 default :
99 {
100 return *wxNORMAL_FONT ;
101 } ;
102 break ;
103
e9576ca5 104 }
519cb848 105 return *wxNORMAL_FONT;
e9576ca5
SC
106}
107
108// Get a system metric, e.g. scrollbar size
109int wxSystemSettings::GetSystemMetric(int index)
110{
111 switch ( index)
112 {
113 case wxSYS_MOUSE_BUTTONS:
519cb848 114 return 2; // we emulate a two button mouse (ctrl + click = right button )
e9576ca5
SC
115 case wxSYS_BORDER_X:
116 // TODO
519cb848 117 return 0;
e9576ca5
SC
118 case wxSYS_BORDER_Y:
119 // TODO
120 return 0;
121 case wxSYS_CURSOR_X:
122 // TODO
123 return 0;
124 case wxSYS_CURSOR_Y:
125 // TODO
126 return 0;
127 case wxSYS_DCLICK_X:
128 // TODO
129 return 0;
130 case wxSYS_DCLICK_Y:
131 // TODO
132 return 0;
133 case wxSYS_DRAG_X:
134 // TODO
135 return 0;
136 case wxSYS_DRAG_Y:
137 // TODO
138 return 0;
139 case wxSYS_EDGE_X:
140 // TODO
141 return 0;
142 case wxSYS_EDGE_Y:
143 // TODO
144 return 0;
145 case wxSYS_HSCROLL_ARROW_X:
519cb848 146 return 16;
e9576ca5 147 case wxSYS_HSCROLL_ARROW_Y:
519cb848 148 return 16;
e9576ca5 149 case wxSYS_HTHUMB_X:
519cb848 150 return 16;
e9576ca5
SC
151 case wxSYS_ICON_X:
152 // TODO
153 return 0;
154 case wxSYS_ICON_Y:
155 // TODO
156 return 0;
157 case wxSYS_ICONSPACING_X:
158 // TODO
159 return 0;
160 case wxSYS_ICONSPACING_Y:
161 // TODO
162 return 0;
163 case wxSYS_WINDOWMIN_X:
164 // TODO
165 return 0;
166 case wxSYS_WINDOWMIN_Y:
167 // TODO
168 return 0;
169 case wxSYS_SCREEN_X:
170 // TODO
171 return 0;
172 case wxSYS_SCREEN_Y:
173 // TODO
174 return 0;
175 case wxSYS_FRAMESIZE_X:
176 // TODO
177 return 0;
178 case wxSYS_FRAMESIZE_Y:
179 // TODO
180 return 0;
181 case wxSYS_SMALLICON_X:
182 // TODO
183 return 0;
184 case wxSYS_SMALLICON_Y:
185 // TODO
186 return 0;
187 case wxSYS_HSCROLL_Y:
519cb848 188 return 16;
e9576ca5 189 case wxSYS_VSCROLL_X:
519cb848 190 return 16;
e9576ca5 191 case wxSYS_VSCROLL_ARROW_X:
519cb848 192 return 16;
e9576ca5 193 case wxSYS_VSCROLL_ARROW_Y:
519cb848 194 return 16;
e9576ca5 195 case wxSYS_VTHUMB_Y:
519cb848 196 return 16;
e9576ca5
SC
197 case wxSYS_CAPTION_Y:
198 // TODO
519cb848 199 return 0;
e9576ca5
SC
200 case wxSYS_MENU_Y:
201 // TODO
519cb848 202 return 0;
e9576ca5
SC
203 case wxSYS_NETWORK_PRESENT:
204 // TODO
519cb848 205 return 0;
e9576ca5 206 case wxSYS_PENWINDOWS_PRESENT:
519cb848 207 return 0;
e9576ca5
SC
208 case wxSYS_SHOW_SOUNDS:
209 // TODO
210 return 0;
211 case wxSYS_SWAP_BUTTONS:
519cb848
SC
212 return 0;
213 default:
214 return 0;
e9576ca5
SC
215 }
216 return 0;
217}
218