2007-03-29 Jonathan Pobst <monkey@jpobst.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ProfessionalColorTable.cs
1 //
2 // ProfessionalColorTable.cs
3 //
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
11 // 
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
14 // 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 //
23 // Copyright (c) 2006 Novell, Inc.
24 //
25 // Authors:
26 //      Jonathan Pobst (monkey@jpobst.com)
27 //
28
29 #if NET_2_0
30 using System.Drawing;
31 using System.Windows.Forms.VisualStyles;
32
33 namespace System.Windows.Forms
34 {
35         public class ProfessionalColorTable
36         {
37                 #region Private Variables
38                 private bool use_system_colors = false;
39
40                 private Color button_checked_gradient_begin;
41                 private Color button_checked_gradient_end;
42                 private Color button_checked_gradient_middle;
43                 private Color button_checked_highlight;
44                 private Color button_checked_highlight_border;
45                 private Color button_pressed_border;
46                 private Color button_pressed_gradient_begin;
47                 private Color button_pressed_gradient_end;
48                 private Color button_pressed_gradient_middle;
49                 private Color button_pressed_highlight;
50                 private Color button_pressed_highlight_border;
51                 private Color button_selected_border;
52                 private Color button_selected_gradient_begin;
53                 private Color button_selected_gradient_end;
54                 private Color button_selected_gradient_middle;
55                 private Color button_selected_highlight;
56                 private Color button_selected_highlight_border;
57                 private Color check_background;
58                 private Color check_pressed_background;
59                 private Color check_selected_background;
60                 private Color grip_dark;
61                 private Color grip_light;
62                 private Color image_margin_gradient_begin;
63                 private Color image_margin_gradient_end;
64                 private Color image_margin_gradient_middle;
65                 private Color image_margin_revealed_gradient_begin;
66                 private Color image_margin_revealed_gradient_end;
67                 private Color image_margin_revealed_gradient_middle;
68                 private Color menu_border;
69                 private Color menu_item_border;
70                 private Color menu_item_pressed_gradient_begin;
71                 private Color menu_item_pressed_gradient_end;
72                 private Color menu_item_pressed_gradient_middle;
73                 private Color menu_item_selected;
74                 private Color menu_item_selected_gradient_begin;
75                 private Color menu_item_selected_gradient_end;
76                 private Color menu_strip_gradient_begin;
77                 private Color menu_strip_gradient_end;
78                 private Color overflow_button_gradient_begin;
79                 private Color overflow_button_gradient_end;
80                 private Color overflow_button_gradient_middle;
81                 private Color rafting_container_gradient_begin;
82                 private Color rafting_container_gradient_end;
83                 private Color separator_dark;
84                 private Color separator_light;
85                 private Color status_strip_gradient_begin;
86                 private Color status_strip_gradient_end;
87                 private Color tool_strip_border;
88                 private Color tool_strip_content_panel_gradient_begin;
89                 private Color tool_strip_content_panel_gradient_end;
90                 private Color tool_strip_drop_down_background;
91                 private Color tool_strip_gradient_begin;
92                 private Color tool_strip_gradient_end;
93                 private Color tool_strip_gradient_middle;
94                 private Color tool_strip_panel_gradient_begin;
95                 private Color tool_strip_panel_gradient_end;
96                 #endregion
97
98                 #region Public Constructor
99                 public ProfessionalColorTable ()
100                 {
101                         CalculateColors ();
102                 }
103                 #endregion
104
105                 #region Public Properties
106                 public virtual Color ButtonCheckedGradientBegin { get { return this.button_checked_gradient_begin; } }
107                 public virtual Color ButtonCheckedGradientEnd { get { return this.button_checked_gradient_end; } }
108                 public virtual Color ButtonCheckedGradientMiddle { get { return this.button_checked_gradient_middle; } }
109                 public virtual Color ButtonCheckedHighlight { get { return this.button_checked_highlight; } }
110                 public virtual Color ButtonCheckedHighlightBorder { get { return this.button_checked_highlight_border; } }
111                 public virtual Color ButtonPressedBorder { get { return this.button_pressed_border; } }
112                 public virtual Color ButtonPressedGradientBegin { get { return this.button_pressed_gradient_begin; } }
113                 public virtual Color ButtonPressedGradientEnd { get { return this.button_pressed_gradient_end; } }
114                 public virtual Color ButtonPressedGradientMiddle { get { return this.button_pressed_gradient_middle; } }
115                 public virtual Color ButtonPressedHighlight { get { return this.button_pressed_highlight; } }
116                 public virtual Color ButtonPressedHighlightBorder { get { return this.button_pressed_highlight_border; } }
117                 public virtual Color ButtonSelectedBorder { get { return this.button_selected_border; } }
118                 public virtual Color ButtonSelectedGradientBegin { get { return this.button_selected_gradient_begin; } }
119                 public virtual Color ButtonSelectedGradientEnd { get { return this.button_selected_gradient_end; } }
120                 public virtual Color ButtonSelectedGradientMiddle { get { return this.button_selected_gradient_middle; } }
121                 public virtual Color ButtonSelectedHighlight { get { return this.button_selected_highlight; } }
122                 public virtual Color ButtonSelectedHighlightBorder { get { return this.button_selected_highlight_border; } }
123                 public virtual Color CheckBackground { get { return this.check_background; } }
124                 public virtual Color CheckPressedBackground { get { return this.check_pressed_background; } }
125                 public virtual Color CheckSelectedBackground { get { return this.check_selected_background; } }
126                 public virtual Color GripDark { get { return this.grip_dark; } }
127                 public virtual Color GripLight { get { return this.grip_light; } }
128                 public virtual Color ImageMarginGradientBegin { get { return this.image_margin_gradient_begin; } }
129                 public virtual Color ImageMarginGradientEnd { get { return this.image_margin_gradient_end; } }
130                 public virtual Color ImageMarginGradientMiddle { get { return this.image_margin_gradient_middle; } }
131                 public virtual Color ImageMarginRevealedGradientBegin { get { return this.image_margin_revealed_gradient_begin; } }
132                 public virtual Color ImageMarginRevealedGradientEnd { get { return this.image_margin_revealed_gradient_end; } }
133                 public virtual Color ImageMarginRevealedGradientMiddle { get { return this.image_margin_revealed_gradient_middle; } }
134                 public virtual Color MenuBorder { get { return this.menu_border; } }
135                 public virtual Color MenuItemBorder { get { return this.menu_item_border; } }
136                 public virtual Color MenuItemPressedGradientBegin { get { return this.menu_item_pressed_gradient_begin; } }
137                 public virtual Color MenuItemPressedGradientEnd { get { return this.menu_item_pressed_gradient_end; } }
138                 public virtual Color MenuItemPressedGradientMiddle { get { return this.menu_item_pressed_gradient_middle; } }
139                 public virtual Color MenuItemSelected { get { return this.menu_item_selected; } }
140                 public virtual Color MenuItemSelectedGradientBegin { get { return this.menu_item_selected_gradient_begin; } }
141                 public virtual Color MenuItemSelectedGradientEnd { get { return this.menu_item_selected_gradient_end; } }
142                 public virtual Color MenuStripGradientBegin { get { return this.menu_strip_gradient_begin; } }
143                 public virtual Color MenuStripGradientEnd { get { return this.menu_strip_gradient_end; } }
144                 public virtual Color OverflowButtonGradientBegin { get { return this.overflow_button_gradient_begin; } }
145                 public virtual Color OverflowButtonGradientEnd { get { return this.overflow_button_gradient_end; } }
146                 public virtual Color OverflowButtonGradientMiddle { get { return this.overflow_button_gradient_middle; } }
147                 public virtual Color RaftingContainerGradientBegin { get { return this.rafting_container_gradient_begin; } }
148                 public virtual Color RaftingContainerGradientEnd { get { return this.rafting_container_gradient_end; } }
149                 public virtual Color SeparatorDark { get { return this.separator_dark; } }
150                 public virtual Color SeparatorLight { get { return this.separator_light; } }
151                 public virtual Color StatusStripGradientBegin { get { return this.status_strip_gradient_begin; } }
152                 public virtual Color StatusStripGradientEnd { get { return this.status_strip_gradient_end; } }
153                 public virtual Color ToolStripBorder { get { return this.tool_strip_border; } }
154                 public virtual Color ToolStripContentPanelGradientBegin { get { return this.tool_strip_content_panel_gradient_begin; } }
155                 public virtual Color ToolStripContentPanelGradientEnd { get { return this.tool_strip_content_panel_gradient_end; } }
156                 public virtual Color ToolStripDropDownBackground { get { return this.tool_strip_drop_down_background; } }
157                 public virtual Color ToolStripGradientBegin { get { return this.tool_strip_gradient_begin; } }
158                 public virtual Color ToolStripGradientEnd { get { return this.tool_strip_gradient_end; } }
159                 public virtual Color ToolStripGradientMiddle { get { return this.tool_strip_gradient_middle; } }
160                 public virtual Color ToolStripPanelGradientBegin { get { return this.tool_strip_panel_gradient_begin; } }
161                 public virtual Color ToolStripPanelGradientEnd { get { return this.tool_strip_panel_gradient_end; } }
162                 public bool UseSystemColors {
163                         get { return use_system_colors; }
164                         set {
165                                 if (value != use_system_colors) {
166                                         use_system_colors = value; CalculateColors ();
167                                 }
168                         }
169                 }
170                 #endregion
171
172                 #region Private Methods
173                 private void CalculateColors ()
174                 {
175                         switch (GetCurrentStyle ()) {
176                                 case ColorSchemes.Classic:
177                                         button_checked_gradient_begin = Color.Empty;
178                                         button_checked_gradient_end = Color.Empty;
179                                         button_checked_gradient_middle = Color.Empty;
180                                         button_checked_highlight = Color.FromArgb (184, 191, 211);
181                                         button_checked_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
182
183                                         button_pressed_border = Color.FromKnownColor (KnownColor.Highlight);
184                                         button_pressed_gradient_begin = Color.FromArgb (133, 146, 181);
185                                         button_pressed_gradient_end = Color.FromArgb (133, 146, 181);
186                                         button_pressed_gradient_middle = Color.FromArgb (133, 146, 181);
187                                         button_pressed_highlight = Color.FromArgb (131, 144, 179);
188                                         button_pressed_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
189
190                                         button_selected_border = Color.FromKnownColor (KnownColor.Highlight);
191                                         button_selected_gradient_begin = Color.FromArgb (182, 189, 210);
192                                         button_selected_gradient_end = Color.FromArgb (182, 189, 210);
193                                         button_selected_gradient_middle = Color.FromArgb (182, 189, 210);
194                                         button_selected_highlight = Color.FromArgb (184, 191, 211);
195                                         button_selected_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
196
197                                         check_background = Color.FromKnownColor (KnownColor.Highlight);
198                                         check_pressed_background = Color.FromArgb (133, 146, 181);
199                                         check_selected_background = Color.FromArgb (133, 146, 181);
200
201                                         grip_dark = Color.FromArgb (160, 160, 160);
202                                         grip_light = SystemColors.Window;
203
204                                         image_margin_gradient_begin = Color.FromArgb (245, 244, 242);
205                                         image_margin_gradient_end = SystemColors.Control;
206                                         image_margin_gradient_middle = Color.FromArgb (234, 232, 228);
207                                         image_margin_revealed_gradient_begin = Color.FromArgb (238, 236, 233);
208                                         image_margin_revealed_gradient_end = Color.FromArgb (216, 213, 206);
209                                         image_margin_revealed_gradient_middle = Color.FromArgb (225, 222, 217);
210
211                                         menu_border = Color.FromArgb (102, 102, 102);
212                                         menu_item_border = SystemColors.Highlight;
213
214                                         menu_item_pressed_gradient_begin = Color.FromArgb (245, 244, 242);
215                                         menu_item_pressed_gradient_end = Color.FromArgb (234, 232, 228);
216                                         menu_item_pressed_gradient_middle = Color.FromArgb (225, 222, 217);
217                                         menu_item_selected = SystemColors.Window;
218                                         menu_item_selected_gradient_begin = Color.FromArgb (182, 189, 210);
219                                         menu_item_selected_gradient_end = Color.FromArgb (182, 189, 210);
220
221                                         menu_strip_gradient_begin = SystemColors.ButtonFace;
222                                         menu_strip_gradient_end = Color.FromArgb (246, 245, 244);
223
224                                         overflow_button_gradient_begin = Color.FromArgb (225, 222, 217);
225                                         overflow_button_gradient_end = SystemColors.ButtonShadow;
226                                         overflow_button_gradient_middle = Color.FromArgb (216, 213, 206);
227
228                                         rafting_container_gradient_begin = SystemColors.ButtonFace;
229                                         rafting_container_gradient_end = Color.FromArgb (246, 245, 244);
230
231                                         separator_dark = Color.FromArgb (166, 166, 166);
232                                         separator_light = SystemColors.ButtonHighlight;
233
234                                         status_strip_gradient_begin = SystemColors.ButtonFace;
235                                         status_strip_gradient_end = Color.FromArgb (246, 245, 244);
236
237                                         tool_strip_border = Color.FromArgb (219, 216, 209);
238                                         tool_strip_content_panel_gradient_begin = SystemColors.ButtonFace;
239                                         tool_strip_content_panel_gradient_end = Color.FromArgb (246, 245, 244);
240                                         tool_strip_drop_down_background = Color.FromArgb (249, 248, 247);
241
242                                         tool_strip_gradient_begin = Color.FromArgb (245, 244, 242);
243                                         tool_strip_gradient_end = SystemColors.ButtonFace;
244                                         tool_strip_gradient_middle = Color.FromArgb (234, 232, 228);
245
246                                         tool_strip_panel_gradient_begin = SystemColors.ButtonFace;
247                                         tool_strip_panel_gradient_end = Color.FromArgb (246, 245, 244);
248                                         break;
249                                 case ColorSchemes.NormalColor:
250                                         button_checked_gradient_begin = use_system_colors ? Color.Empty : Color.FromArgb (255, 223, 154);
251                                         button_checked_gradient_end = use_system_colors ? Color.Empty : Color.FromArgb (255, 166, 76);
252                                         button_checked_gradient_middle = use_system_colors ? Color.Empty : Color.FromArgb (255, 195, 116);
253                                         button_checked_highlight = Color.FromArgb (195, 211, 237);
254                                         button_checked_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
255                                         button_pressed_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (0, 0, 128);
256                                         button_pressed_gradient_begin = use_system_colors ? Color.FromArgb (152, 181, 226) : Color.FromArgb (254, 128, 62);
257                                         button_pressed_gradient_end = use_system_colors ? Color.FromArgb (152, 181, 226) : Color.FromArgb (255, 223, 154);
258                                         button_pressed_gradient_middle = use_system_colors ? Color.FromArgb (152, 181, 226) : Color.FromArgb (255, 177, 109);
259                                         button_pressed_highlight = use_system_colors ? Color.FromArgb (150, 179, 225) : Color.FromArgb (150, 179, 225);
260                                         button_pressed_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
261                                         button_selected_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (0, 0, 128);
262                                         button_selected_gradient_begin = use_system_colors ? Color.FromArgb (193, 210, 238) : Color.FromArgb (255, 255, 222);
263                                         button_selected_gradient_end = use_system_colors ? Color.FromArgb (193, 210, 238) : Color.FromArgb (255, 203, 136);
264                                         button_selected_gradient_middle = use_system_colors ? Color.FromArgb (193, 210, 238) : Color.FromArgb (255, 225, 172);
265                                         button_selected_highlight = use_system_colors ? Color.FromArgb (195, 211, 237) : Color.FromArgb (195, 211, 237);
266                                         button_selected_highlight_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (0, 0, 128);
267
268                                         check_background = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (255, 192, 111);
269                                         check_pressed_background = use_system_colors ? Color.FromArgb (152, 181, 226) : Color.FromArgb (254, 128, 62);
270                                         check_selected_background = use_system_colors ? Color.FromArgb (152, 181, 226) : Color.FromArgb (254, 128, 62);
271
272                                         grip_dark = use_system_colors ? Color.FromArgb (193, 190, 179) : Color.FromArgb (39, 65, 118);
273                                         grip_light = use_system_colors ? SystemColors.Window : Color.FromArgb (255, 255, 255);
274
275                                         image_margin_gradient_begin = use_system_colors ? Color.FromArgb (251, 250, 246) : Color.FromArgb (227, 239, 255);
276                                         image_margin_gradient_end = use_system_colors ? SystemColors.Control : Color.FromArgb (123, 164, 224);
277                                         image_margin_gradient_middle = use_system_colors ? Color.FromArgb (246, 244, 236) : Color.FromArgb (203, 225, 252);
278                                         image_margin_revealed_gradient_begin = use_system_colors ? Color.FromArgb (247, 246, 239) : Color.FromArgb (203, 221, 246);
279                                         image_margin_revealed_gradient_end = use_system_colors ? Color.FromArgb (238, 235, 220) : Color.FromArgb (114, 155, 215);
280                                         image_margin_revealed_gradient_middle = use_system_colors ? Color.FromArgb (242, 240, 228) : Color.FromArgb (161, 197, 249);
281
282                                         menu_border = use_system_colors ? Color.FromArgb (138, 134, 122) : Color.FromArgb (0, 45, 150);
283                                         menu_item_border = use_system_colors ? SystemColors.Highlight : Color.FromArgb (0, 0, 128);
284
285                                         menu_item_pressed_gradient_begin = use_system_colors ? Color.FromArgb (251, 250, 246) : Color.FromArgb (227, 239, 255);
286                                         menu_item_pressed_gradient_end = use_system_colors ? Color.FromArgb (246, 244, 236) : Color.FromArgb (123, 164, 224);
287                                         menu_item_pressed_gradient_middle = use_system_colors ? Color.FromArgb (242, 240, 228) : Color.FromArgb (161, 197, 249);
288                                         menu_item_selected = use_system_colors ? SystemColors.Window : Color.FromArgb (255, 238, 194);
289                                         menu_item_selected_gradient_begin = use_system_colors ? Color.FromArgb (193, 210, 238) : Color.FromArgb (255, 255, 222);
290                                         menu_item_selected_gradient_end = use_system_colors ? Color.FromArgb (193, 210, 238) : Color.FromArgb (255, 203, 136);
291
292                                         menu_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (158, 190, 245);
293                                         menu_strip_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (196, 218, 250);
294
295                                         overflow_button_gradient_begin = use_system_colors ? Color.FromArgb (242, 240, 228) : Color.FromArgb (127, 177, 250);
296                                         overflow_button_gradient_end = use_system_colors ? SystemColors.ButtonShadow : Color.FromArgb (0, 53, 145);
297                                         overflow_button_gradient_middle = use_system_colors ? Color.FromArgb (238, 235, 220) : Color.FromArgb (82, 127, 208);
298
299                                         rafting_container_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (158, 190, 245);
300                                         rafting_container_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (196, 218, 250);
301
302                                         separator_dark = use_system_colors ? Color.FromArgb (197, 194, 184) : Color.FromArgb (106, 140, 203);
303                                         separator_light = use_system_colors ? SystemColors.ButtonHighlight : Color.FromArgb (241, 249, 255);
304
305                                         status_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (158, 190, 245);
306                                         status_strip_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (196, 218, 250);
307
308                                         tool_strip_border = use_system_colors ? Color.FromArgb (239, 237, 222) : Color.FromArgb (59, 97, 156);
309                                         tool_strip_content_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (158, 190, 245);
310                                         tool_strip_content_panel_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (196, 218, 250);
311                                         tool_strip_drop_down_background = use_system_colors ? Color.FromArgb (252, 252, 249) : Color.FromArgb (246, 246, 246);
312
313                                         tool_strip_gradient_begin = use_system_colors ? Color.FromArgb (251, 250, 246) : Color.FromArgb (227, 239, 255);
314                                         tool_strip_gradient_end = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (123, 164, 224);
315                                         tool_strip_gradient_middle = use_system_colors ? Color.FromArgb (246, 244, 236) : Color.FromArgb (203, 225, 252);
316
317                                         tool_strip_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (158, 190, 245);
318                                         tool_strip_panel_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (196, 218, 250);
319                                         break;
320                                 case ColorSchemes.HomeStead:
321                                         button_checked_gradient_begin = use_system_colors ? Color.Empty : Color.FromArgb (255, 223, 154);
322                                         button_checked_gradient_end = use_system_colors ? Color.Empty : Color.FromArgb (255, 166, 76);
323                                         button_checked_gradient_middle = use_system_colors ? Color.Empty : Color.FromArgb (255, 195, 116);
324                                         button_checked_highlight = Color.FromArgb (223, 227, 213);
325                                         button_checked_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
326
327                                         button_pressed_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (63, 93, 56);
328                                         button_pressed_gradient_begin = use_system_colors ? Color.FromArgb (201, 208, 184) : Color.FromArgb (254, 128, 62);
329                                         button_pressed_gradient_end = use_system_colors ? Color.FromArgb (201, 208, 184) : Color.FromArgb (255, 223, 154);
330                                         button_pressed_gradient_middle = use_system_colors ? Color.FromArgb (201, 208, 184) : Color.FromArgb (255, 177, 109);
331                                         button_pressed_highlight = use_system_colors ? Color.FromArgb (200, 206, 182) : Color.FromArgb (200, 206, 182);
332                                         button_pressed_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
333
334                                         button_selected_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (63, 93, 56);
335                                         button_selected_gradient_begin = use_system_colors ? Color.FromArgb (223, 227, 212) : Color.FromArgb (255, 255, 222);
336                                         button_selected_gradient_end = use_system_colors ? Color.FromArgb (223, 227, 212) : Color.FromArgb (255, 203, 136);
337                                         button_selected_gradient_middle = use_system_colors ? Color.FromArgb (223, 227, 212) : Color.FromArgb (255, 225, 172);
338                                         button_selected_highlight = use_system_colors ? Color.FromArgb (223, 227, 213) : Color.FromArgb (223, 227, 213);
339                                         button_selected_highlight_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (63, 93, 56);
340
341                                         check_background = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (255, 192, 111);
342                                         check_pressed_background = use_system_colors ? Color.FromArgb (201, 208, 184) : Color.FromArgb (254, 128, 62);
343                                         check_selected_background = use_system_colors ? Color.FromArgb (201, 208, 184) : Color.FromArgb (254, 128, 62);
344
345                                         grip_dark = use_system_colors ? Color.FromArgb (193, 190, 179) : Color.FromArgb (81, 94, 51);
346                                         grip_light = use_system_colors ? SystemColors.Window : Color.FromArgb (255, 255, 255);
347
348                                         image_margin_gradient_begin = use_system_colors ? Color.FromArgb (251, 250, 246) : Color.FromArgb (255, 255, 237);
349                                         image_margin_gradient_end = use_system_colors ? SystemColors.Control : Color.FromArgb (181, 196, 143);
350                                         image_margin_gradient_middle = use_system_colors ? Color.FromArgb (246, 244, 236) : Color.FromArgb (206, 220, 167);
351                                         image_margin_revealed_gradient_begin = use_system_colors ? Color.FromArgb (247, 246, 239) : Color.FromArgb (230, 230, 209);
352                                         image_margin_revealed_gradient_end = use_system_colors ? Color.FromArgb (238, 235, 220) : Color.FromArgb (160, 177, 116);
353                                         image_margin_revealed_gradient_middle = use_system_colors ? Color.FromArgb (242, 240, 228) : Color.FromArgb (186, 201, 143);
354
355                                         menu_border = use_system_colors ? Color.FromArgb (138, 134, 122) : Color.FromArgb (117, 141, 94);
356                                         menu_item_border = use_system_colors ? SystemColors.Highlight : Color.FromArgb (63, 93, 56);
357
358                                         menu_item_pressed_gradient_begin = use_system_colors ? Color.FromArgb (251, 250, 246) : Color.FromArgb (237, 240, 214);
359                                         menu_item_pressed_gradient_end = use_system_colors ? Color.FromArgb (246, 244, 236) : Color.FromArgb (181, 196, 143);
360                                         menu_item_pressed_gradient_middle = use_system_colors ? Color.FromArgb (242, 240, 228) : Color.FromArgb (186, 201, 143);
361                                         menu_item_selected = use_system_colors ? SystemColors.Window : Color.FromArgb (255, 238, 194);
362                                         menu_item_selected_gradient_begin = use_system_colors ? Color.FromArgb (223, 227, 212) : Color.FromArgb (255, 255, 222);
363                                         menu_item_selected_gradient_end = use_system_colors ? Color.FromArgb (223, 227, 212) : Color.FromArgb (255, 203, 136);
364
365                                         menu_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (217, 217, 167);
366                                         menu_strip_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (242, 241, 228);
367
368                                         overflow_button_gradient_begin = use_system_colors ? Color.FromArgb (242, 240, 228) : Color.FromArgb (186, 204, 150);
369                                         overflow_button_gradient_end = use_system_colors ? SystemColors.ButtonShadow : Color.FromArgb (96, 119, 107);
370                                         overflow_button_gradient_middle = use_system_colors ? Color.FromArgb (238, 235, 220) : Color.FromArgb (141, 160, 107);
371
372                                         rafting_container_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (217, 217, 167);
373                                         rafting_container_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (242, 241, 228);
374
375                                         separator_dark = use_system_colors ? Color.FromArgb (197, 194, 184) : Color.FromArgb (96, 128, 88);
376                                         separator_light = use_system_colors ? SystemColors.ButtonHighlight : Color.FromArgb (244, 247, 222);
377
378                                         status_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (217, 217, 167);
379                                         status_strip_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (242, 241, 228);
380
381                                         tool_strip_border = use_system_colors ? Color.FromArgb (239, 237, 222) : Color.FromArgb (96, 128, 88);
382                                         tool_strip_content_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (217, 217, 167);
383                                         tool_strip_content_panel_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (242, 241, 228);
384                                         tool_strip_drop_down_background = use_system_colors ? Color.FromArgb (252, 252, 249) : Color.FromArgb (244, 244, 238);
385
386                                         tool_strip_gradient_begin = use_system_colors ? Color.FromArgb (251, 250, 246) : Color.FromArgb (255, 255, 237);
387                                         tool_strip_gradient_end = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (181, 196, 143);
388                                         tool_strip_gradient_middle = use_system_colors ? Color.FromArgb (246, 244, 236) : Color.FromArgb (206, 220, 167);
389
390                                         tool_strip_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (217, 217, 167);
391                                         tool_strip_panel_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 247) : Color.FromArgb (242, 241, 228);
392                                         break;
393                                 case ColorSchemes.Metallic:
394                                         button_checked_gradient_begin = use_system_colors ? Color.Empty : Color.FromArgb (255, 223, 154);
395                                         button_checked_gradient_end = use_system_colors ? Color.Empty : Color.FromArgb (255, 166, 76);
396                                         button_checked_gradient_middle = use_system_colors ? Color.Empty : Color.FromArgb (255, 195, 116);
397                                         button_checked_highlight = Color.FromArgb (231, 232, 235);
398                                         button_checked_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
399
400                                         button_pressed_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (75, 75, 111);
401                                         button_pressed_gradient_begin = use_system_colors ? Color.FromArgb (217, 218, 223) : Color.FromArgb (254, 128, 62);
402                                         button_pressed_gradient_end = use_system_colors ? Color.FromArgb (217, 218, 223) : Color.FromArgb (255, 223, 154);
403                                         button_pressed_gradient_middle = use_system_colors ? Color.FromArgb (217, 218, 223) : Color.FromArgb (255, 177, 109);
404                                         button_pressed_highlight = use_system_colors ? Color.FromArgb (215, 216, 222) : Color.FromArgb (215, 216, 222);
405                                         button_pressed_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
406
407                                         button_selected_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (75, 75, 111);
408                                         button_selected_gradient_begin = use_system_colors ? Color.FromArgb (232, 233, 236) : Color.FromArgb (255, 255, 222);
409                                         button_selected_gradient_end = use_system_colors ? Color.FromArgb (232, 233, 236) : Color.FromArgb (255, 203, 136);
410                                         button_selected_gradient_middle = use_system_colors ? Color.FromArgb (232, 233, 236) : Color.FromArgb (255, 225, 172);
411                                         button_selected_highlight = use_system_colors ? Color.FromArgb (231, 232, 235) : Color.FromArgb (231, 232, 235);
412                                         button_selected_highlight_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (75, 75, 111);
413
414                                         check_background = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (255, 192, 111);
415                                         check_pressed_background = use_system_colors ? Color.FromArgb (217, 218, 223) : Color.FromArgb (254, 128, 62);
416                                         check_selected_background = use_system_colors ? Color.FromArgb (217, 218, 223) : Color.FromArgb (254, 128, 62);
417
418                                         grip_dark = use_system_colors ? Color.FromArgb (182, 182, 185) : Color.FromArgb (84, 84, 117);
419                                         grip_light = use_system_colors ? SystemColors.Window : Color.FromArgb (255, 255, 255);
420
421                                         image_margin_gradient_begin = use_system_colors ? Color.FromArgb (248, 248, 249) : Color.FromArgb (249, 249, 255);
422                                         image_margin_gradient_end = use_system_colors ? SystemColors.Control : Color.FromArgb (147, 145, 176);
423                                         image_margin_gradient_middle = use_system_colors ? Color.FromArgb (240, 239, 241) : Color.FromArgb (225, 226, 236);
424                                         image_margin_revealed_gradient_begin = use_system_colors ? Color.FromArgb (243, 242, 244) : Color.FromArgb (215, 215, 226);
425                                         image_margin_revealed_gradient_end = use_system_colors ? Color.FromArgb (227, 226, 230) : Color.FromArgb (118, 116, 151);
426                                         image_margin_revealed_gradient_middle = use_system_colors ? Color.FromArgb (233, 233, 235) : Color.FromArgb (184, 185, 202);
427
428                                         menu_border = use_system_colors ? Color.FromArgb (126, 126, 129) : Color.FromArgb (124, 124, 148);
429                                         menu_item_border = use_system_colors ? SystemColors.Highlight : Color.FromArgb (75, 75, 111);
430
431                                         menu_item_pressed_gradient_begin = use_system_colors ? Color.FromArgb (248, 248, 249) : Color.FromArgb (232, 233, 242);
432                                         menu_item_pressed_gradient_end = use_system_colors ? Color.FromArgb (240, 239, 241) : Color.FromArgb (172, 170, 194);
433                                         menu_item_pressed_gradient_middle = use_system_colors ? Color.FromArgb (233, 233, 235) : Color.FromArgb (184, 185, 202);
434                                         menu_item_selected = use_system_colors ? SystemColors.Window : Color.FromArgb (255, 238, 194);
435                                         menu_item_selected_gradient_begin = use_system_colors ? Color.FromArgb (232, 233, 236) : Color.FromArgb (255, 255, 222);
436                                         menu_item_selected_gradient_end = use_system_colors ? Color.FromArgb (232, 233, 236) : Color.FromArgb (255, 203, 136);
437
438                                         menu_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (215, 215, 229);
439                                         menu_strip_gradient_end = use_system_colors ? Color.FromArgb (249, 248, 249) : Color.FromArgb (243, 243, 247);
440
441                                         overflow_button_gradient_begin = use_system_colors ? Color.FromArgb (233, 233, 235) : Color.FromArgb (186, 185, 206);
442                                         overflow_button_gradient_end = use_system_colors ? SystemColors.ButtonShadow : Color.FromArgb (118, 116, 146);
443                                         overflow_button_gradient_middle = use_system_colors ? Color.FromArgb (227, 226, 230) : Color.FromArgb (156, 155, 180);
444
445                                         rafting_container_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (215, 215, 229);
446                                         rafting_container_gradient_end = use_system_colors ? Color.FromArgb (249, 248, 249) : Color.FromArgb (243, 243, 247);
447
448                                         separator_dark = use_system_colors ? Color.FromArgb (186, 186, 189) : Color.FromArgb (110, 109, 143);
449                                         separator_light = use_system_colors ? SystemColors.ButtonHighlight : Color.FromArgb (255, 255, 255);
450
451                                         status_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (215, 215, 229);
452                                         status_strip_gradient_end = use_system_colors ? Color.FromArgb (249, 248, 249) : Color.FromArgb (243, 243, 247);
453
454                                         tool_strip_border = use_system_colors ? Color.FromArgb (229, 228, 232) : Color.FromArgb (124, 124, 148);
455                                         tool_strip_content_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (215, 215, 229);
456                                         tool_strip_content_panel_gradient_end = use_system_colors ? Color.FromArgb (249, 248, 249) : Color.FromArgb (243, 243, 247);
457                                         tool_strip_drop_down_background = use_system_colors ? Color.FromArgb (251, 250, 251) : Color.FromArgb (253, 250, 255);
458
459                                         tool_strip_gradient_begin = use_system_colors ? Color.FromArgb (248, 248, 249) : Color.FromArgb (249, 249, 255);
460                                         tool_strip_gradient_end = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (147, 145, 176);
461                                         tool_strip_gradient_middle = use_system_colors ? Color.FromArgb (240, 239, 241) : Color.FromArgb (225, 226, 236);
462
463                                         tool_strip_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (215, 215, 229);
464                                         tool_strip_panel_gradient_end = use_system_colors ? Color.FromArgb (249, 248, 249) : Color.FromArgb (243, 243, 247);
465                                         break;
466                                 case ColorSchemes.MediaCenter:
467                                         button_checked_gradient_begin = use_system_colors ? Color.Empty : Color.FromArgb (226, 229, 238);
468                                         button_checked_gradient_end = use_system_colors ? Color.Empty : Color.FromArgb (226, 229, 238);
469                                         button_checked_gradient_middle = use_system_colors ? Color.Empty : Color.FromArgb (226, 229, 238);
470                                         button_checked_highlight = Color.FromArgb (196, 208, 229);
471                                         button_checked_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
472
473                                         button_pressed_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (51, 94, 168);
474                                         button_pressed_gradient_begin = use_system_colors ? Color.FromArgb (153, 175, 212) : Color.FromArgb (153, 175, 212);
475                                         button_pressed_gradient_end = use_system_colors ? Color.FromArgb (153, 175, 212) : Color.FromArgb (153, 175, 212);
476                                         button_pressed_gradient_middle = use_system_colors ? Color.FromArgb (153, 175, 212) : Color.FromArgb (153, 175, 212);
477                                         button_pressed_highlight = use_system_colors ? Color.FromArgb (152, 173, 210) : Color.FromArgb (152, 173, 210);
478                                         button_pressed_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
479
480                                         button_selected_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (51, 94, 168);
481                                         button_selected_gradient_begin = use_system_colors ? Color.FromArgb (194, 207, 229) : Color.FromArgb (194, 207, 229);
482                                         button_selected_gradient_end = use_system_colors ? Color.FromArgb (194, 207, 229) : Color.FromArgb (194, 207, 229);
483                                         button_selected_gradient_middle = use_system_colors ? Color.FromArgb (194, 207, 229) : Color.FromArgb (194, 207, 229);
484                                         button_selected_highlight = use_system_colors ? Color.FromArgb (196, 208, 229) : Color.FromArgb (196, 208, 229);
485                                         button_selected_highlight_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (51, 94, 168);
486
487                                         check_background = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (226, 229, 238);
488                                         check_pressed_background = use_system_colors ? Color.FromArgb (153, 175, 212) : Color.FromArgb (51, 94, 168);
489                                         check_selected_background = use_system_colors ? Color.FromArgb (153, 175, 212) : Color.FromArgb (51, 94, 168);
490
491                                         grip_dark = use_system_colors ? Color.FromArgb (189, 188, 191) : Color.FromArgb (189, 188, 191);
492                                         grip_light = use_system_colors ? SystemColors.Window : Color.FromArgb (255, 255, 255);
493
494                                         image_margin_gradient_begin = use_system_colors ? Color.FromArgb (250, 250, 251) : Color.FromArgb (252, 252, 252);
495                                         image_margin_gradient_end = use_system_colors ? SystemColors.Control : Color.FromArgb (235, 233, 237);
496                                         image_margin_gradient_middle = use_system_colors ? Color.FromArgb (245, 244, 246) : Color.FromArgb (245, 244, 246);
497                                         image_margin_revealed_gradient_begin = use_system_colors ? Color.FromArgb (247, 246, 248) : Color.FromArgb (247, 246, 248);
498                                         image_margin_revealed_gradient_end = use_system_colors ? Color.FromArgb (237, 235, 239) : Color.FromArgb (228, 226, 230);
499                                         image_margin_revealed_gradient_middle = use_system_colors ? Color.FromArgb (241, 240, 242) : Color.FromArgb (241, 240, 242);
500
501                                         menu_border = use_system_colors ? Color.FromArgb (134, 133, 136) : Color.FromArgb (134, 133, 136);
502                                         menu_item_border = use_system_colors ? SystemColors.Highlight : Color.FromArgb (51, 94, 168);
503
504                                         menu_item_pressed_gradient_begin = use_system_colors ? Color.FromArgb (250, 250, 251) : Color.FromArgb (252, 252, 252);
505                                         menu_item_pressed_gradient_end = use_system_colors ? Color.FromArgb (245, 244, 246) : Color.FromArgb (245, 244, 246);
506                                         menu_item_pressed_gradient_middle = use_system_colors ? Color.FromArgb (241, 240, 242) : Color.FromArgb (241, 240, 242);
507                                         menu_item_selected = use_system_colors ? SystemColors.Window : Color.FromArgb (194, 207, 229);
508                                         menu_item_selected_gradient_begin = use_system_colors ? Color.FromArgb (194, 207, 229) : Color.FromArgb (194, 207, 229);
509                                         menu_item_selected_gradient_end = use_system_colors ? Color.FromArgb (194, 207, 229) : Color.FromArgb (194, 207, 229);
510
511                                         menu_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (235, 233, 237);
512                                         menu_strip_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 251) : Color.FromArgb (251, 250, 251);
513
514                                         overflow_button_gradient_begin = use_system_colors ? Color.FromArgb (241, 240, 242) : Color.FromArgb (242, 242, 242);
515                                         overflow_button_gradient_end = use_system_colors ? SystemColors.ButtonShadow : Color.FromArgb (167, 166, 170);
516                                         overflow_button_gradient_middle = use_system_colors ? Color.FromArgb (237, 235, 239) : Color.FromArgb (224, 224, 225);
517
518                                         rafting_container_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (235, 233, 237);
519                                         rafting_container_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 251) : Color.FromArgb (251, 250, 251);
520
521                                         separator_dark = use_system_colors ? Color.FromArgb (193, 193, 196) : Color.FromArgb (193, 193, 196);
522                                         separator_light = use_system_colors ? SystemColors.ButtonHighlight : Color.FromArgb (255, 255, 255);
523
524                                         status_strip_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (235, 233, 237);
525                                         status_strip_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 251) : Color.FromArgb (251, 250, 251);
526
527                                         tool_strip_border = use_system_colors ? Color.FromArgb (238, 237, 240) : Color.FromArgb (238, 237, 240);
528                                         tool_strip_content_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (235, 233, 237);
529                                         tool_strip_content_panel_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 251) : Color.FromArgb (251, 250, 251);
530                                         tool_strip_drop_down_background = use_system_colors ? Color.FromArgb (252, 252, 252) : Color.FromArgb (252, 252, 252);
531
532                                         tool_strip_gradient_begin = use_system_colors ? Color.FromArgb (250, 250, 251) : Color.FromArgb (252, 252, 252);
533                                         tool_strip_gradient_end = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (235, 233, 237);
534                                         tool_strip_gradient_middle = use_system_colors ? Color.FromArgb (245, 244, 246) : Color.FromArgb (245, 244, 246);
535
536                                         tool_strip_panel_gradient_begin = use_system_colors ? SystemColors.ButtonFace : Color.FromArgb (235, 233, 237);
537                                         tool_strip_panel_gradient_end = use_system_colors ? Color.FromArgb (251, 250, 251) : Color.FromArgb (251, 250, 251);
538                                         break;
539                                 case ColorSchemes.Aero:
540                                         button_checked_gradient_begin = Color.Empty;
541                                         button_checked_gradient_end = Color.Empty;
542                                         button_checked_gradient_middle = Color.Empty;
543                                         button_checked_highlight = Color.FromArgb (196, 225, 255);
544                                         button_checked_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
545
546                                         button_pressed_border = Color.FromKnownColor (KnownColor.Highlight);
547                                         button_pressed_gradient_begin = Color.FromArgb (153, 204, 255);
548                                         button_pressed_gradient_end = Color.FromArgb (153, 204, 255);
549                                         button_pressed_gradient_middle = Color.FromArgb (153, 204, 255);
550                                         button_pressed_highlight = Color.FromArgb (152, 203, 255);
551                                         button_pressed_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
552
553                                         button_selected_border = use_system_colors ? Color.FromKnownColor (KnownColor.Highlight) : Color.FromArgb (51, 94, 168);
554                                         button_selected_gradient_begin = Color.FromArgb (194, 224, 255);
555                                         button_selected_gradient_end = Color.FromArgb (194, 224, 255);
556                                         button_selected_gradient_middle = Color.FromArgb (194, 224, 255);
557                                         button_selected_highlight = Color.FromArgb (196, 225, 255);
558                                         button_selected_highlight_border = Color.FromKnownColor (KnownColor.Highlight);
559
560                                         check_background = Color.FromKnownColor (KnownColor.Highlight);
561                                         check_pressed_background = Color.FromArgb (153, 204, 255);
562                                         check_selected_background = Color.FromArgb (153, 204, 255);
563
564                                         grip_dark = Color.FromArgb (184, 184, 184);
565                                         grip_light = SystemColors.Window;
566
567                                         image_margin_gradient_begin = Color.FromArgb (252, 252, 252);
568                                         image_margin_gradient_end = SystemColors.Control;
569                                         image_margin_gradient_middle = Color.FromArgb (250, 250, 250);
570                                         image_margin_revealed_gradient_begin = Color.FromArgb (251, 251, 251);
571                                         image_margin_revealed_gradient_end = Color.FromArgb (245, 245, 245);
572                                         image_margin_revealed_gradient_middle = Color.FromArgb (247, 247, 247);
573
574                                         menu_border = Color.FromArgb (128, 128, 128);
575                                         menu_item_border = SystemColors.Highlight;
576
577                                         menu_item_pressed_gradient_begin = Color.FromArgb (252, 252, 252);
578                                         menu_item_pressed_gradient_end = Color.FromArgb (250, 250, 250);
579                                         menu_item_pressed_gradient_middle = Color.FromArgb (247, 247, 247);
580                                         menu_item_selected = SystemColors.Window;
581                                         menu_item_selected_gradient_begin = Color.FromArgb (194, 224, 255);
582                                         menu_item_selected_gradient_end = Color.FromArgb (194, 224, 255);
583
584                                         menu_strip_gradient_begin = SystemColors.ButtonFace;
585                                         menu_strip_gradient_end = Color.FromArgb (253, 253, 253);
586
587                                         overflow_button_gradient_begin = Color.FromArgb (247, 247, 247);
588                                         overflow_button_gradient_end = SystemColors.ButtonShadow;
589                                         overflow_button_gradient_middle = Color.FromArgb (245, 245, 245);
590
591                                         rafting_container_gradient_begin = SystemColors.ButtonFace;
592                                         rafting_container_gradient_end = Color.FromArgb (253, 253, 253);
593
594                                         separator_dark = Color.FromArgb (189, 189, 189);
595                                         separator_light = SystemColors.ButtonHighlight;
596
597                                         status_strip_gradient_begin = SystemColors.ButtonFace;
598                                         status_strip_gradient_end = Color.FromArgb (253, 253, 253);
599
600                                         tool_strip_border = Color.FromArgb (246, 246, 246);
601                                         tool_strip_content_panel_gradient_begin = SystemColors.ButtonFace;
602                                         tool_strip_content_panel_gradient_end = Color.FromArgb (253, 253, 253);
603                                         tool_strip_drop_down_background = Color.FromArgb (253, 253, 253);
604
605                                         tool_strip_gradient_begin = Color.FromArgb (252, 252, 252);
606                                         tool_strip_gradient_end = SystemColors.ButtonFace;
607                                         tool_strip_gradient_middle = Color.FromArgb (250, 250, 250);
608
609                                         tool_strip_panel_gradient_begin = SystemColors.ButtonFace;
610                                         tool_strip_panel_gradient_end = Color.FromArgb (253, 253, 253);
611                                         break;
612                         }
613                 }
614                 
615                 private ColorSchemes GetCurrentStyle ()
616                 {
617                         if (!VisualStyleInformation.IsEnabledByUser)
618                                 return ColorSchemes.Classic;
619                         else {
620                                 switch (VisualStyleInformation.DisplayName) {
621                                         case "Aero style":
622                                                 return ColorSchemes.Aero;
623                                         case "Media Center Style":
624                                                 return ColorSchemes.MediaCenter;
625                                         default:
626                                                 switch (VisualStyleInformation.ColorScheme) {
627                                                         case "NormalColor":
628                                                                 return ColorSchemes.NormalColor;
629                                                         case "HomeStead":
630                                                                 return ColorSchemes.HomeStead;
631                                                         case "Metallic":
632                                                                 return ColorSchemes.Metallic;
633                                                         default:
634                                                                 return ColorSchemes.Classic;
635                                                 }
636                                 }
637                         }
638                 }
639                 #endregion
640
641                 #region Private Enums
642                 private enum ColorSchemes
643                 {
644                         Classic,        // Windows Classic (No theme)
645                         NormalColor,    // Luna Blue
646                         HomeStead,      // Luna Olive
647                         Metallic,       // Luna Silver
648                         MediaCenter,    // Media Center (Energy Blue)
649                         Aero            // Windows Vista
650                 }
651                 #endregion
652         }
653 }
654 #endif