1 /*
2  This Software is provided under the Zope Public License (ZPL) Version 2.1.
3 
4  Copyright (C) 2011 Piotr Caban for CodeWeavers
5 
6  See the AUTHORS file for the list of contributors to the mingw-w64 project.
7 
8  This license has been certified as open source. It has also been designated
9  as GPL compatible by the Free Software Foundation (FSF).
10 
11  Redistribution and use in source and binary forms, with or without
12  modification, are permitted provided that the following conditions are met:
13 
14    1. Redistributions in source code must retain the accompanying copyright
15       notice, this list of conditions, and the following disclaimer.
16    2. Redistributions in binary form must reproduce the accompanying
17       copyright notice, this list of conditions, and the following disclaimer
18       in the documentation and/or other materials provided with the
19       distribution.
20    3. Names of the copyright holders must not be used to endorse or promote
21       products derived from this software without prior written permission
22       from the copyright holders.
23    4. The right to distribute this software or to use it for any purpose does
24       not give you the right to use Servicemarks (sm) or Trademarks (tm) of
25       the copyright holders.  Use of them is covered by separate agreement
26       with the copyright holders.
27    5. If any files are modified, you must cause the modified files to carry
28       prominent notices stating that you changed the files and the date of
29       any change.
30 
31  Disclaimer
32 
33  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
34  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
35  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
36  EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
37  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
38  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
39  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
40  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
41  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
42  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 */
44 
45 #ifndef __VSSYM32_H__
46 #define __VSSYM32_H__
47 
48 #include "vsstyle.h"
49 
50 
51 enum BGTYPE {
52     BT_IMAGEFILE = 0,
53     BT_BORDERFILL = 1,
54     BT_NONE = 2,
55 };
56 
57 enum IMAGELAYOUT {
58     IL_VERTICAL = 0,
59     IL_HORIZONTAL = 1,
60 };
61 
62 enum BORDERTYPE {
63     BT_RECT = 0,
64     BT_ROUNDRECT = 1,
65     BT_ELLIPSE = 2,
66 };
67 
68 enum FILLTYPE {
69     FT_SOLID = 0,
70     FT_VERTGRADIENT = 1,
71     FT_HORZGRADIENT = 2,
72     FT_RADIALGRADIENT = 3,
73     FT_TILEIMAGE = 4,
74 };
75 
76 enum SIZINGTYPE {
77     ST_TRUESIZE = 0,
78     ST_STRETCH = 1,
79     ST_TILE = 2,
80 };
81 
82 enum HALIGN {
83     HA_LEFT = 0,
84     HA_CENTER = 1,
85     HA_RIGHT = 2,
86 };
87 
88 enum CONTENTALIGNMENT {
89     CA_LEFT = 0,
90     CA_CENTER = 1,
91     CA_RIGHT = 2,
92 };
93 
94 enum VALIGN {
95     VA_TOP = 0,
96     VA_CENTER = 1,
97     VA_BOTTOM = 2,
98 };
99 
100 enum OFFSETTYPE {
101     OT_TOPLEFT = 0,
102     OT_TOPRIGHT = 1,
103     OT_TOPMIDDLE = 2,
104     OT_BOTTOMLEFT = 3,
105     OT_BOTTOMRIGHT = 4,
106     OT_BOTTOMMIDDLE = 5,
107     OT_MIDDLELEFT = 6,
108     OT_MIDDLERIGHT = 7,
109     OT_LEFTOFCAPTION = 8,
110     OT_RIGHTOFCAPTION = 9,
111     OT_LEFTOFLASTBUTTON = 10,
112     OT_RIGHTOFLASTBUTTON = 11,
113     OT_ABOVELASTBUTTON = 12,
114     OT_BELOWLASTBUTTON = 13,
115 };
116 
117 enum ICONEFFECT {
118     ICE_NONE = 0,
119     ICE_GLOW = 1,
120     ICE_SHADOW = 2,
121     ICE_PULSE = 3,
122     ICE_ALPHA = 4,
123 };
124 
125 enum TEXTSHADOWTYPE {
126     TST_NONE = 0,
127     TST_SINGLE = 1,
128     TST_CONTINUOUS = 2,
129 };
130 
131 enum GLYPHTYPE {
132     GT_NONE = 0,
133     GT_IMAGEGLYPH = 1,
134     GT_FONTGLYPH = 2,
135 };
136 
137 enum IMAGESELECTTYPE {
138     IST_NONE = 0,
139     IST_SIZE = 1,
140     IST_DPI = 2,
141 };
142 
143 enum TRUESIZESCALINGTYPE {
144     TSST_NONE = 0,
145     TSST_SIZE = 1,
146     TSST_DPI = 2,
147 };
148 
149 enum GLYPHFONTSIZINGTYPE {
150     GFST_NONE = 0,
151     GFST_SIZE = 1,
152     GFST_DPI = 2,
153 };
154 
155 #define TMT_RESERVEDLOW 0
156 #define TMT_RESERVEDHIGH 7999
157 
158 #define TMT_DIBDATA 2
159 #define TMT_GLYPHDIBDATA 8
160 #define TMT_ENUM 200
161 #define TMT_STRING 201
162 #define TMT_INT 202
163 #define TMT_BOOL 203
164 #define TMT_COLOR 204
165 #define TMT_MARGINS 205
166 #define TMT_FILENAME 206
167 #define TMT_SIZE 207
168 #define TMT_POSITION 208
169 #define TMT_RECT 209
170 #define TMT_FONT 210
171 #define TMT_INTLIST 211
172 #define TMT_HBITMAP 212
173 #define TMT_DISKSTREAM 213
174 #define TMT_STREAM 214
175 #define TMT_BITMAPREF 215
176 #define TMT_COLORSCHEMES 401
177 #define TMT_SIZES 402
178 #define TMT_CHARSET 403
179 #define TMT_NAME 600
180 #define TMT_DISPLAYNAME 601
181 #define TMT_TOOLTIP 602
182 #define TMT_COMPANY 603
183 #define TMT_AUTHOR 604
184 #define TMT_COPYRIGHT 605
185 #define TMT_URL 606
186 #define TMT_VERSION 607
187 #define TMT_DESCRIPTION 608
188 #define TMT_FIRST_RCSTRING_NAME TMT_DISPLAYNAME
189 #define TMT_LAST_RCSTRING_NAME TMT_DESCRIPTION
190 #define TMT_CAPTIONFONT 801
191 #define TMT_SMALLCAPTIONFONT 802
192 #define TMT_MENUFONT 803
193 #define TMT_STATUSFONT 804
194 #define TMT_MSGBOXFONT 805
195 #define TMT_ICONTITLEFONT 806
196 #define TMT_HEADING1FONT 807
197 #define TMT_HEADING2FONT 808
198 #define TMT_BODYFONT 809
199 #define TMT_FIRSTFONT TMT_CAPTIONFONT
200 #define TMT_LASTFONT TMT_BODYFONT
201 #define TMT_FLATMENUS 1001
202 #define TMT_FIRSTBOOL TMT_FLATMENUS
203 #define TMT_LASTBOOL TMT_FLATMENUS
204 #define TMT_SIZINGBORDERWIDTH 1201
205 #define TMT_SCROLLBARWIDTH 1202
206 #define TMT_SCROLLBARHEIGHT 1203
207 #define TMT_CAPTIONBARWIDTH 1204
208 #define TMT_CAPTIONBARHEIGHT 1205
209 #define TMT_SMCAPTIONBARWIDTH 1206
210 #define TMT_SMCAPTIONBARHEIGHT 1207
211 #define TMT_MENUBARWIDTH 1208
212 #define TMT_MENUBARHEIGHT 1209
213 #define TMT_PADDEDBORDERWIDTH 1210
214 #define TMT_FIRSTSIZE TMT_SIZINGBORDERWIDTH
215 #define TMT_LASTSIZE TMT_PADDEDBORDERWIDTH
216 #define TMT_MINCOLORDEPTH 1301
217 #define TMT_FIRSTINT TMT_MINCOLORDEPTH
218 #define TMT_LASTINT TMT_MINCOLORDEPTH
219 #define TMT_CSSNAME 1401
220 #define TMT_XMLNAME 1402
221 #define TMT_LASTUPDATED 1403
222 #define TMT_ALIAS 1404
223 #define TMT_FIRSTSTRING TMT_CSSNAME
224 #define TMT_LASTSTRING TMT_ALIAS
225 #define TMT_SCROLLBAR 1601
226 #define TMT_BACKGROUND 1602
227 #define TMT_ACTIVECAPTION 1603
228 #define TMT_INACTIVECAPTION 1604
229 #define TMT_MENU 1605
230 #define TMT_WINDOW 1606
231 #define TMT_WINDOWFRAME 1607
232 #define TMT_MENUTEXT 1608
233 #define TMT_WINDOWTEXT 1609
234 #define TMT_CAPTIONTEXT 1610
235 #define TMT_ACTIVEBORDER 1611
236 #define TMT_INACTIVEBORDER 1612
237 #define TMT_APPWORKSPACE 1613
238 #define TMT_HIGHLIGHT 1614
239 #define TMT_HIGHLIGHTTEXT 1615
240 #define TMT_BTNFACE 1616
241 #define TMT_BTNSHADOW 1617
242 #define TMT_GRAYTEXT 1618
243 #define TMT_BTNTEXT 1619
244 #define TMT_INACTIVECAPTIONTEXT 1620
245 #define TMT_BTNHIGHLIGHT 1621
246 #define TMT_DKSHADOW3D 1622
247 #define TMT_LIGHT3D 1623
248 #define TMT_INFOTEXT 1624
249 #define TMT_INFOBK 1625
250 #define TMT_BUTTONALTERNATEFACE 1626
251 #define TMT_HOTTRACKING 1627
252 #define TMT_GRADIENTACTIVECAPTION 1628
253 #define TMT_GRADIENTINACTIVECAPTION 1629
254 #define TMT_MENUHILIGHT 1630
255 #define TMT_MENUBAR 1631
256 #define TMT_FIRSTCOLOR TMT_SCROLLBAR
257 #define TMT_LASTCOLOR TMT_MENUBAR
258 #define TMT_FROMHUE1 1801
259 #define TMT_FROMHUE2 1802
260 #define TMT_FROMHUE3 1803
261 #define TMT_FROMHUE4 1804
262 #define TMT_FROMHUE5 1805
263 #define TMT_TOHUE1 1806
264 #define TMT_TOHUE2 1807
265 #define TMT_TOHUE3 1808
266 #define TMT_TOHUE4 1809
267 #define TMT_TOHUE5 1810
268 #define TMT_FROMCOLOR1 2001
269 #define TMT_FROMCOLOR2 2002
270 #define TMT_FROMCOLOR3 2003
271 #define TMT_FROMCOLOR4 2004
272 #define TMT_FROMCOLOR5 2005
273 #define TMT_TOCOLOR1 2006
274 #define TMT_TOCOLOR2 2007
275 #define TMT_TOCOLOR3 2008
276 #define TMT_TOCOLOR4 2009
277 #define TMT_TOCOLOR5 2010
278 #define TMT_TRANSPARENT 2201
279 #define TMT_AUTOSIZE 2202
280 #define TMT_BORDERONLY 2203
281 #define TMT_COMPOSITED 2204
282 #define TMT_BGFILL 2205
283 #define TMT_GLYPHTRANSPARENT 2206
284 #define TMT_GLYPHONLY 2207
285 #define TMT_ALWAYSSHOWSIZINGBAR 2208
286 #define TMT_MIRRORIMAGE 2209
287 #define TMT_UNIFORMSIZING 2210
288 #define TMT_INTEGRALSIZING 2211
289 #define TMT_SOURCEGROW 2212
290 #define TMT_SOURCESHRINK 2213
291 #define TMT_DRAWBORDERS 2214
292 #define TMT_NOETCHEDEFFECT 2215
293 #define TMT_TEXTAPPLYOVERLAY 2216
294 #define TMT_TEXTGLOW 2217
295 #define TMT_TEXTITALIC 2218
296 #define TMT_COMPOSITEDOPAQUE 2219
297 #define TMT_LOCALIZEDMIRRORIMAGE 2220
298 #define TMT_IMAGECOUNT 2401
299 #define TMT_ALPHALEVEL 2402
300 #define TMT_BORDERSIZE 2403
301 #define TMT_ROUNDCORNERWIDTH 2404
302 #define TMT_ROUNDCORNERHEIGHT 2405
303 #define TMT_GRADIENTRATIO1 2406
304 #define TMT_GRADIENTRATIO2 2407
305 #define TMT_GRADIENTRATIO3 2408
306 #define TMT_GRADIENTRATIO4 2409
307 #define TMT_GRADIENTRATIO5 2410
308 #define TMT_PROGRESSCHUNKSIZE 2411
309 #define TMT_PROGRESSSPACESIZE 2412
310 #define TMT_SATURATION 2413
311 #define TMT_TEXTBORDERSIZE 2414
312 #define TMT_ALPHATHRESHOLD 2415
313 #define TMT_WIDTH 2416
314 #define TMT_HEIGHT 2417
315 #define TMT_GLYPHINDEX 2418
316 #define TMT_TRUESIZESTRETCHMARK 2419
317 #define TMT_MINDPI1 2420
318 #define TMT_MINDPI2 2421
319 #define TMT_MINDPI3 2422
320 #define TMT_MINDPI4 2423
321 #define TMT_MINDPI5 2424
322 #define TMT_TEXTGLOWSIZE 2425
323 #define TMT_FRAMESPERSECOND 2426
324 #define TMT_PIXELSPERFRAME 2427
325 #define TMT_ANIMATIONDELAY 2428
326 #define TMT_GLOWINTENSITY 2429
327 #define TMT_OPACITY 2430
328 #define TMT_COLORIZATIONCOLOR 2431
329 #define TMT_COLORIZATIONOPACITY 2432
330 #define TMT_GLYPHFONT 2601
331 #define TMT_IMAGEFILE 3001
332 #define TMT_IMAGEFILE1 3002
333 #define TMT_IMAGEFILE2 3003
334 #define TMT_IMAGEFILE3 3004
335 #define TMT_IMAGEFILE4 3005
336 #define TMT_IMAGEFILE5 3006
337 #define TMT_GLYPHIMAGEFILE 3008
338 #define TMT_TEXT 3201
339 #define TMT_CLASSICVALUE 3202
340 #define TMT_OFFSET 3401
341 #define TMT_TEXTSHADOWOFFSET 3402
342 #define TMT_MINSIZE 3403
343 #define TMT_MINSIZE1 3404
344 #define TMT_MINSIZE2 3405
345 #define TMT_MINSIZE3 3406
346 #define TMT_MINSIZE4 3407
347 #define TMT_MINSIZE5 3408
348 #define TMT_NORMALSIZE 3409
349 #define TMT_SIZINGMARGINS 3601
350 #define TMT_CONTENTMARGINS 3602
351 #define TMT_CAPTIONMARGINS 3603
352 #define TMT_BORDERCOLOR 3801
353 #define TMT_FILLCOLOR 3802
354 #define TMT_TEXTCOLOR 3803
355 #define TMT_EDGELIGHTCOLOR 3804
356 #define TMT_EDGEHIGHLIGHTCOLOR 3805
357 #define TMT_EDGESHADOWCOLOR 3806
358 #define TMT_EDGEDKSHADOWCOLOR 3807
359 #define TMT_EDGEFILLCOLOR 3808
360 #define TMT_TRANSPARENTCOLOR 3809
361 #define TMT_GRADIENTCOLOR1 3810
362 #define TMT_GRADIENTCOLOR2 3811
363 #define TMT_GRADIENTCOLOR3 3812
364 #define TMT_GRADIENTCOLOR4 3813
365 #define TMT_GRADIENTCOLOR5 3814
366 #define TMT_SHADOWCOLOR 3815
367 #define TMT_GLOWCOLOR 3816
368 #define TMT_TEXTBORDERCOLOR 3817
369 #define TMT_TEXTSHADOWCOLOR 3818
370 #define TMT_GLYPHTEXTCOLOR 3819
371 #define TMT_GLYPHTRANSPARENTCOLOR 3820
372 #define TMT_FILLCOLORHINT 3821
373 #define TMT_BORDERCOLORHINT 3822
374 #define TMT_ACCENTCOLORHINT 3823
375 #define TMT_TEXTCOLORHINT 3824
376 #define TMT_HEADING1TEXTCOLOR 3825
377 #define TMT_HEADING2TEXTCOLOR 3826
378 #define TMT_BODYTEXTCOLOR 3827
379 #define TMT_BGTYPE 4001
380 #define TMT_BORDERTYPE 4002
381 #define TMT_FILLTYPE 4003
382 #define TMT_SIZINGTYPE 4004
383 #define TMT_HALIGN 4005
384 #define TMT_CONTENTALIGNMENT 4006
385 #define TMT_VALIGN 4007
386 #define TMT_OFFSETTYPE 4008
387 #define TMT_ICONEFFECT 4009
388 #define TMT_TEXTSHADOWTYPE 4010
389 #define TMT_IMAGELAYOUT 4011
390 #define TMT_GLYPHTYPE 4012
391 #define TMT_IMAGESELECTTYPE 4013
392 #define TMT_GLYPHFONTSIZINGTYPE 4014
393 #define TMT_TRUESIZESCALINGTYPE 4015
394 #define TMT_USERPICTURE 5001
395 #define TMT_DEFAULTPANESIZE 5002
396 #define TMT_BLENDCOLOR 5003
397 #define TMT_CUSTOMSPLITRECT 5004
398 #define TMT_ANIMATIONBUTTONRECT 5005
399 #define TMT_ANIMATIONDURATION 5006
400 #define TMT_TRANSITIONDURATIONS 6000
401 #define TMT_SCALEDBACKGROUND 7001
402 #define TMT_ATLASIMAGE 8000
403 #define TMT_ATLASINPUTIMAGE 8001
404 #define TMT_ATLASRECT 8002
405 
406 /* LINK class */
407 #if defined(__GNUC__)
408 #define VSCLASS_LINK (const WCHAR []){'L','I','N','K',0}
409 #elif defined(_MSC_VER)
410 #define VSCLASS_LINK L"LINK"
411 #else
412 static const WCHAR VSCLASS_LINK[] = {'L','I','N','K',0};
413 #endif
414 
415 enum LINKPARTS {
416     LP_HYPERLINK = 1,
417 };
418 
419 enum HYPERLINKSTATES {
420     HLS_NORMALTEXT = 1,
421     HLS_LINKTEXT = 2,
422 };
423 
424 /* EMPTYMARKUP class */
425 #if defined(__GNUC__)
426 #define VSCLASS_EMPTYMARKUP (const WCHAR []){'E','M','P','T','Y','M','A','R','K','U','P',0}
427 #elif defined(_MSC_VER)
428 #define VSCLASS_EMPTYMARKUP L"EMPTYMARKUP"
429 #else
430 static const WCHAR VSCLASS_EMPTYMARKUP[] = {'E','M','P','T','Y','M','A','R','K','U','P',0};
431 #endif
432 
433 enum EMPTYMARKUPPARTS {
434     EMP_MARKUPTEXT = 1,
435 };
436 
437 enum MARKUPTEXTSTATES {
438     EMT_NORMALTEXT = 1,
439     EMT_LINKTEXT = 2,
440 };
441 
442 /* STATIC class */
443 #if defined(__GNUC__)
444 #define VSCLASS_STATIC (const WCHAR []){'S','T','A','T','I','C',0}
445 #elif defined(_MSC_VER)
446 #define VSCLASS_STATIC L"STATIC"
447 #else
448 static const WCHAR VSCLASS_STATIC[] = {'S','T','A','T','I','C',0};
449 #endif
450 
451 enum STATICPARTS {
452     STAT_TEXT = 1,
453 };
454 
455 /* PAGE class */
456 #if defined(__GNUC__)
457 #define VSCLASS_PAGE (const WCHAR []){'P','A','G','E',0}
458 #elif defined(_MSC_VER)
459 #define VSCLASS_PAGE L"PAGE"
460 #else
461 static const WCHAR VSCLASS_PAGE[] = {'P','A','G','E',0};
462 #endif
463 
464 enum PAGEPARTS {
465     PGRP_UP = 1,
466     PGRP_DOWN = 2,
467     PGRP_UPHORZ = 3,
468     PGRP_DOWNHORZ = 4,
469 };
470 
471 /* MONTHCAL class */
472 #if defined(__GNUC__)
473 #define VSCLASS_MONTHCAL (const WCHAR []){'M','O','N','T','H','C','A','L',0}
474 #elif defined(_MSC_VER)
475 #define VSCLASS_MONTHCAL L"MONTHCAL"
476 #else
477 static const WCHAR VSCLASS_MONTHCAL[] = {'M','O','N','T','H','C','A','L',0};
478 #endif
479 
480 enum MONTHCALPARTS {
481     MC_BACKGROUND = 1,
482     MC_BORDERS = 2,
483     MC_GRIDBACKGROUND = 3,
484     MC_COLHEADERSPLITTER = 4,
485     MC_GRIDCELLBACKGROUND = 5,
486     MC_GRIDCELL = 6,
487     MC_GRIDCELLUPPER = 7,
488     MC_TRAILINGGRIDCELL = 8,
489     MC_TRAILINGGRIDCELLUPPER = 9,
490     MC_NAVNEXT = 10,
491     MC_NAVPREV = 11,
492 };
493 
494 enum GRIDCELLBACKGROUNDSTATES {
495     MCGCB_SELECTED = 1,
496     MCGCB_HOT = 2,
497     MCGCB_SELECTEDHOT = 3,
498     MCGCB_SELECTEDNOTFOCUSED = 4,
499     MCGCB_TODAY = 5,
500 };
501 
502 enum GRIDCELLSTATES {
503     MCGC_HOT = 1,
504     MCGC_HASSTATE = 2,
505     MCGC_HASSTATEHOT = 3,
506     MCGC_TODAY = 4,
507 };
508 
509 enum GRIDCELLUPPERSTATES {
510     MCGCU_HOT = 1,
511     MCGCU_HASSTATE = 2,
512     MCGCU_HASSTATEHOT = 3,
513 };
514 
515 enum TRAILINGGRIDCELLSTATES {
516     MCTGC_HOT = 1,
517     MCTGC_HASSTATE = 2,
518     MCTGC_HASSTATEHOT = 3,
519     MCTGC_TODAY = 4,
520 };
521 
522 enum TRAILINGGRIDCELLUPPERSTATES {
523     MCTGCU_HOT = 1,
524     MCTGCU_HASSTATE = 2,
525     MCTGCU_HASSTATEHOT = 3,
526 };
527 
528 enum NAVNEXTSTATES {
529     MCNN_NORMAL = 1,
530     MCNN_HOT = 2,
531     MCNN_PRESSED = 3,
532     MCNN_DISABLED = 4,
533 };
534 
535 enum NAVPREVSTATES {
536     MCNP_NORMAL = 1,
537     MCNP_HOT = 2,
538     MCNP_PRESSED = 3,
539     MCNP_DISABLED = 4,
540 };
541 
542 /* CLOCK class */
543 #if defined(__GNUC__)
544 #define VSCLASS_CLOCK (const WCHAR []){'C','L','O','C','K',0}
545 #elif defined(_MSC_VER)
546 #define VSCLASS_CLOCK L"CLOCK"
547 #else
548 static const WCHAR VSCLASS_CLOCK[] = {'C','L','O','C','K',0};
549 #endif
550 
551 enum CLOCKPARTS {
552     CLP_TIME = 1,
553 };
554 
555 enum CLOCKSTATES {
556     CLS_NORMAL = 1,
557     CLS_HOT = 2,
558     CLS_PRESSED = 3,
559 };
560 
561 /* TRAYNOTIFY class */
562 #if defined(__GNUC__)
563 #define VSCLASS_TRAYNOTIFY (const WCHAR []){'T','R','A','Y','N','O','T','I','F','Y',0}
564 #elif defined(_MSC_VER)
565 #define VSCLASS_TRAYNOTIFY L"TRAYNOTIFY"
566 #else
567 static const WCHAR VSCLASS_TRAYNOTIFY[] = {'T','R','A','Y','N','O','T','I','F','Y',0};
568 #endif
569 
570 enum TRAYNOTIFYPARTS {
571     TNP_BACKGROUND = 1,
572     TNP_ANIMBACKGROUND = 2,
573 };
574 
575 /* TASKBAR class */
576 #if defined(__GNUC__)
577 #define VSCLASS_TASKBAR (const WCHAR []){'T','A','S','K','B','A','R',0}
578 #elif defined(_MSC_VER)
579 #define VSCLASS_TASKBAR L"TASKBAR"
580 #else
581 static const WCHAR VSCLASS_TASKBAR[] = {'T','A','S','K','B','A','R',0};
582 #endif
583 
584 enum TASKBARPARTS {
585     TBP_BACKGROUNDBOTTOM = 1,
586     TBP_BACKGROUNDRIGHT = 2,
587     TBP_BACKGROUNDTOP = 3,
588     TBP_BACKGROUNDLEFT = 4,
589     TBP_SIZINGBARBOTTOM = 5,
590     TBP_SIZINGBARRIGHT = 6,
591     TBP_SIZINGBARTOP = 7,
592     TBP_SIZINGBARLEFT = 8,
593 };
594 
595 /* TASKBAND class */
596 #if defined(__GNUC__)
597 #define VSCLASS_TASKBAND (const WCHAR []){'T','A','S','K','B','A','N','D',0}
598 #elif defined(_MSC_VER)
599 #define VSCLASS_TASKBAND L"TASKBAND"
600 #else
601 static const WCHAR VSCLASS_TASKBAND[] = {'T','A','S','K','B','A','N','D',0};
602 #endif
603 
604 enum TASKBANDPARTS {
605     TDP_GROUPCOUNT = 1,
606     TDP_FLASHBUTTON = 2,
607     TDP_FLASHBUTTONGROUPMENU = 3,
608 };
609 
610 /* STARTPANEL class */
611 #if defined(__GNUC__)
612 #define VSCLASS_STARTPANEL (const WCHAR []){'S','T','A','R','T','P','A','N','E','L',0}
613 #elif defined(_MSC_VER)
614 #define VSCLASS_STARTPANEL L"STARTPANEL"
615 #else
616 static const WCHAR VSCLASS_STARTPANEL[] = {'S','T','A','R','T','P','A','N','E','L',0};
617 #endif
618 
619 enum STARTPANELPARTS {
620     SPP_USERPANE = 1,
621     SPP_MOREPROGRAMS = 2,
622     SPP_MOREPROGRAMSARROW = 3,
623     SPP_PROGLIST = 4,
624     SPP_PROGLISTSEPARATOR = 5,
625     SPP_PLACESLIST = 6,
626     SPP_PLACESLISTSEPARATOR = 7,
627     SPP_LOGOFF = 8,
628     SPP_LOGOFFBUTTONS = 9,
629     SPP_USERPICTURE = 10,
630     SPP_PREVIEW = 11,
631     SPP_MOREPROGRAMSTAB = 12,
632     SPP_NSCHOST = 13,
633     SPP_SOFTWAREEXPLORER = 14,
634     SPP_OPENBOX = 15,
635     SPP_SEARCHVIEW = 16,
636     SPP_MOREPROGRAMSARROWBACK = 17,
637     SPP_TOPMATCH = 18,
638     SPP_LOGOFFSPLITBUTTONDROPDOWN = 19,
639 };
640 
641 enum MOREPROGRAMSTABSTATES {
642     SPMPT_NORMAL = 1,
643     SPMPT_HOT = 2,
644     SPMPT_SELECTED = 3,
645     SPMPT_DISABLED = 4,
646     SPMPT_FOCUSED = 5,
647 };
648 
649 enum SOFTWAREEXPLORERSTATES {
650     SPSE_NORMAL = 1,
651     SPSE_HOT = 2,
652     SPSE_SELECTED = 3,
653     SPSE_DISABLED = 4,
654     SPSE_FOCUSED = 5,
655 };
656 
657 enum OPENBOXSTATES {
658     SPOB_NORMAL = 1,
659     SPOB_HOT = 2,
660     SPOB_SELECTED = 3,
661     SPOB_DISABLED = 4,
662     SPOB_FOCUSED = 5,
663 };
664 
665 enum MOREPROGRAMSARROWSTATES {
666     SPS_NORMAL = 1,
667     SPS_HOT = 2,
668     SPS_PRESSED = 3,
669 };
670 
671 enum MOREPROGRAMSARROWBACKSTATES {
672     SPSB_NORMAL = 1,
673     SPSB_HOT = 2,
674     SPSB_PRESSED = 3,
675 };
676 
677 enum LOGOFFBUTTONSSTATES {
678     SPLS_NORMAL = 1,
679     SPLS_HOT = 2,
680     SPLS_PRESSED = 3,
681 };
682 
683 /* MENUBAND class */
684 #if defined(__GNUC__)
685 #define VSCLASS_MENUBAND (const WCHAR []){'M','E','N','U','B','A','N','D',0}
686 #elif defined(_MSC_VER)
687 #define VSCLASS_MENUBAND L"MENUBAND"
688 #else
689 static const WCHAR VSCLASS_MENUBAND[] = {'M','E','N','U','B','A','N','D',0};
690 #endif
691 
692 enum MENUBANDPARTS {
693     MDP_NEWAPPBUTTON = 1,
694     MDP_SEPERATOR = 2,
695 };
696 
697 enum MENUBANDSTATES {
698     MDS_NORMAL = 1,
699     MDS_HOT = 2,
700     MDS_PRESSED = 3,
701     MDS_DISABLED = 4,
702     MDS_CHECKED = 5,
703     MDS_HOTCHECKED = 6,
704 };
705 
706 #endif /* __VSSYM32_H__ */
707