diff --git a/reactos/include/schemadef.h b/reactos/include/schemadef.h new file mode 100644 index 00000000000..94ed5a4665c --- /dev/null +++ b/reactos/include/schemadef.h @@ -0,0 +1,111 @@ +#ifndef SCHEMA_STRINGS + +# ifndef SCHEMADEF_H +# define SCHEMADEF_H + +# define SCHEMADEF_VERSION (1) + +struct TMPROPINFO +{ + LPCWSTR pszName; + SHORT sEnumVal; + BYTE bPrimVal; +}; + +struct TMSCHEMAINFO +{ + DWORD dwSize; + int iSchemaDefVersion; + int iThemeMgrVersion; + int iPropCount; + const struct TMPROPINFO * pPropTable; +}; + +# define BEGIN_TM_SCHEMA(NAME__) +# define BEGIN_TM_PROPS() enum PropValues { DummyProp = 49, +# define BEGIN_TM_ENUM(NAME__) enum NAME__ { + +# define BEGIN_TM_CLASS_PARTS(NAME__) \ + enum NAME__##PARTS { NAME__##PartFiller0, + +# define BEGIN_TM_PART_STATES(NAME__) \ + enum NAME__##STATES { NAME__##StateFiller0, + + +# define TM_PROP(VAL__, PREFIX__, NAME__, PRIMVAL__) \ + PREFIX__##_##NAME__ = VAL__, + +# define TM_ENUM(VAL__, PREFIX__, NAME__) PREFIX__##_##NAME__ = VAL__, +# define TM_PART(VAL__, PREFIX__, NAME__) PREFIX__##_##NAME__ = VAL__, +# define TM_STATE(VAL__, PREFIX__, NAME__) PREFIX__##_##NAME__ = VAL__, + +# define END_TM_CLASS_PARTS() }; +# define END_TM_PART_STATES() }; +# define END_TM_PROPS() }; +# define END_TM_ENUM() }; +# define END_TM_SCHEMA(NAME__) + +# endif + +# else + +# undef BEGIN_TM_SCHEMA +# undef BEGIN_TM_PROPS +# undef BEGIN_TM_ENUM +# undef BEGIN_TM_CLASS_PARTS +# undef BEGIN_TM_PART_STATES +# undef TM_PROP +# undef TM_PART +# undef TM_STATE +# undef TM_ENUM +# undef END_TM_CLASS_PARTS +# undef END_TM_PART_STATES +# undef END_TM_PROPS +# undef END_TM_ENUM +# undef END_TM_SCHEMA + +# define BEGIN_TM_SCHEMA(NAME__) static const TMPROPINFO NAME__[] = { +# define BEGIN_TM_PROPS() +# define BEGIN_TM_ENUM(NAME__) { L#NAME__, TMT_ENUMDEF, TMT_ENUMDEF }, + +# define BEGIN_TM_CLASS_PARTS(NAME__) \ + { L#NAME__ L"PARTS", TMT_ENUMDEF, TMT_ENUMDEF }, + +# define BEGIN_TM_PART_STATES(NAME__) \ + { L#NAME__ L"STATES", TMT_ENUMDEF, TMT_ENUMDEF }, + + +# define TM_PROP(VAL__, PREFIX__, NAME__, PRIMVAL__) \ + { L#NAME__, PREFIX__##_##NAME__, TMT_##PRIMVAL__ }, + +# define TM_PART(VAL__, PREFIX__, NAME__) \ + { L#NAME__, PREFIX__##_##NAME__, TMT_ENUMVAL }, + +# define TM_STATE(VAL__, PREFIX__, NAME__) \ + { L#NAME__, PREFIX__##_##NAME__, TMT_ENUMVAL }, + +# define TM_ENUM(VAL__, PREFIX__, NAME__) \ + { L#NAME__, PREFIX__##_##NAME__, TMT_ENUMVAL }, + + +# define END_TM_CLASS_PARTS() +# define END_TM_PART_STATES() +# define END_TM_PROPS() +# define END_TM_ENUM() +# define END_TM_SCHEMA(NAME__) \ + }; \ + \ + static const TMSCHEMAINFO * GetSchemaInfo(void) \ + { \ + static TMSCHEMAINFO si = { sizeof(si) }; \ + si.iSchemaDefVersion = SCHEMADEF_VERSION; \ + si.iThemeMgrVersion = THEMEMGR_VERSION; \ + si.iPropCount = sizeof(NAME__) / sizeof(NAME__[0]); \ + si.pPropTable = NAME__; \ + \ + return &si; \ + } + +# endif + +/* EOF */ diff --git a/reactos/include/tmschema.h b/reactos/include/tmschema.h new file mode 100644 index 00000000000..a363ad62367 --- /dev/null +++ b/reactos/include/tmschema.h @@ -0,0 +1,1086 @@ +#if (defined(SCHEMA_STRINGS)) || (!defined(TMSCHEMA_H)) + +#define TMSCHEMA_H + +#include "schemadef.h" + +#define THEMEMGR_VERSION 1 + +BEGIN_TM_SCHEMA(ThemeMgrSchema) + + BEGIN_TM_ENUM(BGTYPE) + TM_ENUM(0, BT, IMAGEFILE) + TM_ENUM(1, BT, BORDERFILL) + TM_ENUM(2, BT, NONE) + END_TM_ENUM() + + BEGIN_TM_ENUM(IMAGELAYOUT) + TM_ENUM(0, IL, VERTICAL) + TM_ENUM(1, IL, HORIZONTAL) + END_TM_ENUM() + + BEGIN_TM_ENUM(BORDERTYPE) + TM_ENUM(0, BT, RECT) + TM_ENUM(1, BT, ROUNDRECT) + TM_ENUM(2, BT, ELLIPSE) + END_TM_ENUM() + + BEGIN_TM_ENUM(FILLTYPE) + TM_ENUM(0, FT, SOLID) + TM_ENUM(1, FT, VERTGRADIENT) + TM_ENUM(2, FT, HORZGRADIENT) + TM_ENUM(3, FT, RADIALGRADIENT) + TM_ENUM(4, FT, TILEIMAGE) + END_TM_ENUM() + + BEGIN_TM_ENUM(SIZINGTYPE) + TM_ENUM(0, ST, TRUESIZE) + TM_ENUM(1, ST, STRETCH) + TM_ENUM(2, ST, TILE) + END_TM_ENUM() + + BEGIN_TM_ENUM(HALIGN) + TM_ENUM(0, HA, LEFT) + TM_ENUM(1, HA, CENTER) + TM_ENUM(2, HA, RIGHT) + END_TM_ENUM() + + BEGIN_TM_ENUM(CONTENTALIGNMENT) + TM_ENUM(0, CA, LEFT) + TM_ENUM(1, CA, CENTER) + TM_ENUM(2, CA, RIGHT) + END_TM_ENUM() + + BEGIN_TM_ENUM(VALIGN) + TM_ENUM(0, VA, TOP) + TM_ENUM(1, VA, CENTER) + TM_ENUM(2, VA, BOTTOM) + END_TM_ENUM() + + BEGIN_TM_ENUM(OFFSETTYPE) + TM_ENUM(0, OT, TOPLEFT) + TM_ENUM(1, OT, TOPRIGHT) + TM_ENUM(2, OT, TOPMIDDLE) + TM_ENUM(3, OT, BOTTOMLEFT) + TM_ENUM(4, OT, BOTTOMRIGHT) + TM_ENUM(5, OT, BOTTOMMIDDLE) + TM_ENUM(6, OT, MIDDLELEFT) + TM_ENUM(7, OT, MIDDLERIGHT) + TM_ENUM(8, OT, LEFTOFCAPTION) + TM_ENUM(9, OT, RIGHTOFCAPTION) + TM_ENUM(10, OT, LEFTOFLASTBUTTON) + TM_ENUM(11, OT, RIGHTOFLASTBUTTON) + TM_ENUM(12, OT, ABOVELASTBUTTON) + TM_ENUM(13, OT, BELOWLASTBUTTON) + END_TM_ENUM() + + BEGIN_TM_ENUM(ICONEFFECT) + TM_ENUM(0, ICE, NONE) + TM_ENUM(1, ICE, GLOW) + TM_ENUM(2, ICE, SHADOW) + TM_ENUM(3, ICE, PULSE) + TM_ENUM(4, ICE, ALPHA) + END_TM_ENUM() + + BEGIN_TM_ENUM(TEXTSHADOWTYPE) + TM_ENUM(0, TST, NONE) + TM_ENUM(1, TST, SINGLE) + TM_ENUM(2, TST, CONTINUOUS) + END_TM_ENUM() + + BEGIN_TM_ENUM(GLYPHTYPE) + TM_ENUM(0, GT, NONE) + TM_ENUM(1, GT, IMAGEGLYPH) + TM_ENUM(2, GT, FONTGLYPH) + END_TM_ENUM() + + BEGIN_TM_ENUM(IMAGESELECTTYPE) + TM_ENUM(0, IST, NONE) + TM_ENUM(1, IST, SIZE) + TM_ENUM(2, IST, DPI) + END_TM_ENUM() + + BEGIN_TM_ENUM(TRUESIZESCALINGTYPE) + TM_ENUM(0, TSST, NONE) + TM_ENUM(1, TSST, SIZE) + TM_ENUM(2, TSST, DPI) + END_TM_ENUM() + + BEGIN_TM_ENUM(GLYPHFONTSIZINGTYPE) + TM_ENUM(0, GFST, NONE) + TM_ENUM(1, GFST, SIZE) + TM_ENUM(2, GFST, DPI) + END_TM_ENUM() + + BEGIN_TM_PROPS() + + TM_PROP(201, TMT, STRING, STRING) + TM_PROP(202, TMT, INT, INT) + TM_PROP(203, TMT, BOOL, BOOL) + TM_PROP(204, TMT, COLOR, COLOR) + TM_PROP(205, TMT, MARGINS, MARGINS) + TM_PROP(206, TMT, FILENAME, FILENAME) + TM_PROP(207, TMT, SIZE, SIZE) + TM_PROP(208, TMT, POSITION, POSITION) + TM_PROP(209, TMT, RECT, RECT) + TM_PROP(210, TMT, FONT, FONT) + TM_PROP(211, TMT, INTLIST, INTLIST) + + TM_PROP(401, TMT, COLORSCHEMES, STRING) + TM_PROP(402, TMT, SIZES, STRING) + TM_PROP(403, TMT, CHARSET, INT) + +#define TMT_FIRST_RCSTRING_NAME TMT_DISPLAYNAME +#define TMT_LAST_RCSTRING_NAME TMT_DESCRIPTION + + TM_PROP(601, TMT, DISPLAYNAME, STRING) + TM_PROP(602, TMT, TOOLTIP, STRING) + TM_PROP(603, TMT, COMPANY, STRING) + TM_PROP(604, TMT, AUTHOR, STRING) + TM_PROP(605, TMT, COPYRIGHT, STRING) + TM_PROP(606, TMT, URL, STRING) + TM_PROP(607, TMT, VERSION, STRING) + TM_PROP(608, TMT, DESCRIPTION, STRING) + +#define TMT_FIRSTFONT TMT_CAPTIONFONT +#define TMT_LASTFONT TMT_ICONTITLEFONT + + TM_PROP(801, TMT, CAPTIONFONT, FONT) + TM_PROP(802, TMT, SMALLCAPTIONFONT, FONT) + TM_PROP(803, TMT, MENUFONT, FONT) + TM_PROP(804, TMT, STATUSFONT, FONT) + TM_PROP(805, TMT, MSGBOXFONT, FONT) + TM_PROP(806, TMT, ICONTITLEFONT, FONT) + +#define TMT_FIRSTBOOL TMT_FLATMENUS +#define TMT_LASTBOOL TMT_FLATMENUS + + TM_PROP(1001, TMT, FLATMENUS, BOOL) + +#define TMT_FIRSTSIZE TMT_SIZINGBORDERWIDTH +#define TMT_LASTSIZE TMT_MENUBARHEIGHT + + TM_PROP(1201, TMT, SIZINGBORDERWIDTH, SIZE) + TM_PROP(1202, TMT, SCROLLBARWIDTH, SIZE) + TM_PROP(1203, TMT, SCROLLBARHEIGHT, SIZE) + TM_PROP(1204, TMT, CAPTIONBARWIDTH, SIZE) + TM_PROP(1205, TMT, CAPTIONBARHEIGHT, SIZE) + TM_PROP(1206, TMT, SMCAPTIONBARWIDTH, SIZE) + TM_PROP(1207, TMT, SMCAPTIONBARHEIGHT, SIZE) + TM_PROP(1208, TMT, MENUBARWIDTH, SIZE) + TM_PROP(1209, TMT, MENUBARHEIGHT, SIZE) + +#define TMT_FIRSTINT TMT_MINCOLORDEPTH +#define TMT_LASTINT TMT_MINCOLORDEPTH + + TM_PROP(1301, TMT, MINCOLORDEPTH, INT) + +#define TMT_FIRSTSTRING TMT_CSSNAME +#define TMT_LASTSTRING TMT_XMLNAME + + TM_PROP(1401, TMT, CSSNAME, STRING) + TM_PROP(1402, TMT, XMLNAME, STRING) + +#define TMT_FIRSTCOLOR TMT_SCROLLBAR +#define TMT_LASTCOLOR TMT_MENUBAR + + TM_PROP(1601, TMT, SCROLLBAR, COLOR) + TM_PROP(1602, TMT, BACKGROUND, COLOR) + TM_PROP(1603, TMT, ACTIVECAPTION, COLOR) + TM_PROP(1604, TMT, INACTIVECAPTION, COLOR) + TM_PROP(1605, TMT, MENU, COLOR) + TM_PROP(1606, TMT, WINDOW, COLOR) + TM_PROP(1607, TMT, WINDOWFRAME, COLOR) + TM_PROP(1608, TMT, MENUTEXT, COLOR) + TM_PROP(1609, TMT, WINDOWTEXT, COLOR) + TM_PROP(1610, TMT, CAPTIONTEXT, COLOR) + TM_PROP(1611, TMT, ACTIVEBORDER, COLOR) + TM_PROP(1612, TMT, INACTIVEBORDER, COLOR) + TM_PROP(1613, TMT, APPWORKSPACE, COLOR) + TM_PROP(1614, TMT, HIGHLIGHT, COLOR) + TM_PROP(1615, TMT, HIGHLIGHTTEXT, COLOR) + TM_PROP(1616, TMT, BTNFACE, COLOR) + TM_PROP(1617, TMT, BTNSHADOW, COLOR) + TM_PROP(1618, TMT, GRAYTEXT, COLOR) + TM_PROP(1619, TMT, BTNTEXT, COLOR) + TM_PROP(1620, TMT, INACTIVECAPTIONTEXT, COLOR) + TM_PROP(1621, TMT, BTNHIGHLIGHT, COLOR) + TM_PROP(1622, TMT, DKSHADOW3D, COLOR) + TM_PROP(1623, TMT, LIGHT3D, COLOR) + TM_PROP(1624, TMT, INFOTEXT, COLOR) + TM_PROP(1625, TMT, INFOBK, COLOR) + TM_PROP(1626, TMT, BUTTONALTERNATEFACE, COLOR) + TM_PROP(1627, TMT, HOTTRACKING, COLOR) + TM_PROP(1628, TMT, GRADIENTACTIVECAPTION, COLOR) + TM_PROP(1629, TMT, GRADIENTINACTIVECAPTION, COLOR) + TM_PROP(1630, TMT, MENUHILIGHT, COLOR) + TM_PROP(1631, TMT, MENUBAR, COLOR) + + //---- hue substitutions ---- + TM_PROP(1801, TMT, FROMHUE1, INT) + TM_PROP(1802, TMT, FROMHUE2, INT) + TM_PROP(1803, TMT, FROMHUE3, INT) + TM_PROP(1804, TMT, FROMHUE4, INT) + TM_PROP(1805, TMT, FROMHUE5, INT) + TM_PROP(1806, TMT, TOHUE1, INT) + TM_PROP(1807, TMT, TOHUE2, INT) + TM_PROP(1808, TMT, TOHUE3, INT) + TM_PROP(1809, TMT, TOHUE4, INT) + TM_PROP(1810, TMT, TOHUE5, INT) + + TM_PROP(2001, TMT, FROMCOLOR1, COLOR) + TM_PROP(2002, TMT, FROMCOLOR2, COLOR) + TM_PROP(2003, TMT, FROMCOLOR3, COLOR) + TM_PROP(2004, TMT, FROMCOLOR4, COLOR) + TM_PROP(2005, TMT, FROMCOLOR5, COLOR) + TM_PROP(2006, TMT, TOCOLOR1, COLOR) + TM_PROP(2007, TMT, TOCOLOR2, COLOR) + TM_PROP(2008, TMT, TOCOLOR3, COLOR) + TM_PROP(2009, TMT, TOCOLOR4, COLOR) + TM_PROP(2010, TMT, TOCOLOR5, COLOR) + + TM_PROP(2201, TMT, TRANSPARENT, BOOL) + TM_PROP(2202, TMT, AUTOSIZE, BOOL) + TM_PROP(2203, TMT, BORDERONLY, BOOL) + TM_PROP(2204, TMT, COMPOSITED, BOOL) + TM_PROP(2205, TMT, BGFILL, BOOL) + TM_PROP(2206, TMT, GLYPHTRANSPARENT, BOOL) + TM_PROP(2207, TMT, GLYPHONLY, BOOL) + TM_PROP(2208, TMT, ALWAYSSHOWSIZINGBAR, BOOL) + TM_PROP(2209, TMT, MIRRORIMAGE, BOOL) + TM_PROP(2210, TMT, UNIFORMSIZING, BOOL) + TM_PROP(2211, TMT, INTEGRALSIZING, BOOL) + TM_PROP(2212, TMT, SOURCEGROW, BOOL) + TM_PROP(2213, TMT, SOURCESHRINK, BOOL) + + TM_PROP(2401, TMT, IMAGECOUNT, INT) + TM_PROP(2402, TMT, ALPHALEVEL, INT) + TM_PROP(2403, TMT, BORDERSIZE, INT) + TM_PROP(2404, TMT, ROUNDCORNERWIDTH, INT) + TM_PROP(2405, TMT, ROUNDCORNERHEIGHT, INT) + TM_PROP(2406, TMT, GRADIENTRATIO1, INT) + TM_PROP(2407, TMT, GRADIENTRATIO2, INT) + TM_PROP(2408, TMT, GRADIENTRATIO3, INT) + TM_PROP(2409, TMT, GRADIENTRATIO4, INT) + TM_PROP(2410, TMT, GRADIENTRATIO5, INT) + TM_PROP(2411, TMT, PROGRESSCHUNKSIZE, INT) + TM_PROP(2412, TMT, PROGRESSSPACESIZE, INT) + TM_PROP(2413, TMT, SATURATION, INT) + TM_PROP(2414, TMT, TEXTBORDERSIZE, INT) + TM_PROP(2415, TMT, ALPHATHRESHOLD, INT) + TM_PROP(2416, TMT, WIDTH, SIZE) + TM_PROP(2417, TMT, HEIGHT, SIZE) + TM_PROP(2418, TMT, GLYPHINDEX, INT) + TM_PROP(2419, TMT, TRUESIZESTRETCHMARK, INT) + TM_PROP(2420, TMT, MINDPI1, INT) + TM_PROP(2421, TMT, MINDPI2, INT) + TM_PROP(2422, TMT, MINDPI3, INT) + TM_PROP(2423, TMT, MINDPI4, INT) + TM_PROP(2424, TMT, MINDPI5, INT) + + TM_PROP(2601, TMT, GLYPHFONT, FONT) + + TM_PROP(3001, TMT, IMAGEFILE, FILENAME) + TM_PROP(3002, TMT, IMAGEFILE1, FILENAME) + TM_PROP(3003, TMT, IMAGEFILE2, FILENAME) + TM_PROP(3004, TMT, IMAGEFILE3, FILENAME) + TM_PROP(3005, TMT, IMAGEFILE4, FILENAME) + TM_PROP(3006, TMT, IMAGEFILE5, FILENAME) + TM_PROP(3007, TMT, STOCKIMAGEFILE, FILENAME) + TM_PROP(3008, TMT, GLYPHIMAGEFILE, FILENAME) + + TM_PROP(3201, TMT, TEXT, STRING) + + TM_PROP(3401, TMT, OFFSET, POSITION) + TM_PROP(3402, TMT, TEXTSHADOWOFFSET, POSITION) + TM_PROP(3403, TMT, MINSIZE, POSITION) + TM_PROP(3404, TMT, MINSIZE1, POSITION) + TM_PROP(3405, TMT, MINSIZE2, POSITION) + TM_PROP(3406, TMT, MINSIZE3, POSITION) + TM_PROP(3407, TMT, MINSIZE4, POSITION) + TM_PROP(3408, TMT, MINSIZE5, POSITION) + TM_PROP(3409, TMT, NORMALSIZE, POSITION) + + TM_PROP(3601, TMT, SIZINGMARGINS, MARGINS) + TM_PROP(3602, TMT, CONTENTMARGINS, MARGINS) + TM_PROP(3603, TMT, CAPTIONMARGINS, MARGINS) + + TM_PROP(3801, TMT, BORDERCOLOR, COLOR) + TM_PROP(3802, TMT, FILLCOLOR, COLOR) + TM_PROP(3803, TMT, TEXTCOLOR, COLOR) + TM_PROP(3804, TMT, EDGELIGHTCOLOR, COLOR) + TM_PROP(3805, TMT, EDGEHIGHLIGHTCOLOR, COLOR) + TM_PROP(3806, TMT, EDGESHADOWCOLOR, COLOR) + TM_PROP(3807, TMT, EDGEDKSHADOWCOLOR, COLOR) + TM_PROP(3808, TMT, EDGEFILLCOLOR, COLOR) + TM_PROP(3809, TMT, TRANSPARENTCOLOR, COLOR) + TM_PROP(3810, TMT, GRADIENTCOLOR1, COLOR) + TM_PROP(3811, TMT, GRADIENTCOLOR2, COLOR) + TM_PROP(3812, TMT, GRADIENTCOLOR3, COLOR) + TM_PROP(3813, TMT, GRADIENTCOLOR4, COLOR) + TM_PROP(3814, TMT, GRADIENTCOLOR5, COLOR) + TM_PROP(3815, TMT, SHADOWCOLOR, COLOR) + TM_PROP(3816, TMT, GLOWCOLOR, COLOR) + TM_PROP(3817, TMT, TEXTBORDERCOLOR, COLOR) + TM_PROP(3818, TMT, TEXTSHADOWCOLOR, COLOR) + TM_PROP(3819, TMT, GLYPHTEXTCOLOR, COLOR) + TM_PROP(3820, TMT, GLYPHTRANSPARENTCOLOR, COLOR) + TM_PROP(3821, TMT, FILLCOLORHINT, COLOR) + TM_PROP(3822, TMT, BORDERCOLORHINT, COLOR) + TM_PROP(3823, TMT, ACCENTCOLORHINT, COLOR) + + TM_PROP(4001, TMT, BGTYPE, ENUM) + TM_PROP(4002, TMT, BORDERTYPE, ENUM) + TM_PROP(4003, TMT, FILLTYPE, ENUM) + TM_PROP(4004, TMT, SIZINGTYPE, ENUM) + TM_PROP(4005, TMT, HALIGN, ENUM) + TM_PROP(4006, TMT, CONTENTALIGNMENT, ENUM) + TM_PROP(4007, TMT, VALIGN, ENUM) + TM_PROP(4008, TMT, OFFSETTYPE, ENUM) + TM_PROP(4009, TMT, ICONEFFECT, ENUM) + TM_PROP(4010, TMT, TEXTSHADOWTYPE, ENUM) + TM_PROP(4011, TMT, IMAGELAYOUT, ENUM) + TM_PROP(4012, TMT, GLYPHTYPE, ENUM) + TM_PROP(4013, TMT, IMAGESELECTTYPE, ENUM) + TM_PROP(4014, TMT, GLYPHFONTSIZINGTYPE, ENUM) + TM_PROP(4015, TMT, TRUESIZESCALINGTYPE, ENUM) + + TM_PROP(5001, TMT, USERPICTURE, BOOL) + TM_PROP(5002, TMT, DEFAULTPANESIZE, RECT) + TM_PROP(5003, TMT, BLENDCOLOR, COLOR) + END_TM_PROPS() + + BEGIN_TM_CLASS_PARTS(WINDOW) + TM_PART(1, WP, CAPTION) + TM_PART(2, WP, SMALLCAPTION) + TM_PART(3, WP, MINCAPTION) + TM_PART(4, WP, SMALLMINCAPTION) + TM_PART(5, WP, MAXCAPTION) + TM_PART(6, WP, SMALLMAXCAPTION) + TM_PART(7, WP, FRAMELEFT) + TM_PART(8, WP, FRAMERIGHT) + TM_PART(9, WP, FRAMEBOTTOM) + TM_PART(10, WP, SMALLFRAMELEFT) + TM_PART(11, WP, SMALLFRAMERIGHT) + TM_PART(12, WP, SMALLFRAMEBOTTOM) + TM_PART(13, WP, SYSBUTTON) + TM_PART(14, WP, MDISYSBUTTON) + TM_PART(15, WP, MINBUTTON) + TM_PART(16, WP, MDIMINBUTTON) + TM_PART(17, WP, MAXBUTTON) + TM_PART(18, WP, CLOSEBUTTON) + TM_PART(19, WP, SMALLCLOSEBUTTON) + TM_PART(20, WP, MDICLOSEBUTTON) + TM_PART(21, WP, RESTOREBUTTON) + TM_PART(22, WP, MDIRESTOREBUTTON) + TM_PART(23, WP, HELPBUTTON) + TM_PART(24, WP, MDIHELPBUTTON) + TM_PART(25, WP, HORZSCROLL) + TM_PART(26, WP, HORZTHUMB) + TM_PART(27, WP, VERTSCROLL) + TM_PART(28, WP, VERTTHUMB) + TM_PART(29, WP, DIALOG) + TM_PART(30, WP, CAPTIONSIZINGTEMPLATE) + TM_PART(31, WP, SMALLCAPTIONSIZINGTEMPLATE) + TM_PART(32, WP, FRAMELEFTSIZINGTEMPLATE) + TM_PART(33, WP, SMALLFRAMELEFTSIZINGTEMPLATE) + TM_PART(34, WP, FRAMERIGHTSIZINGTEMPLATE) + TM_PART(35, WP, SMALLFRAMERIGHTSIZINGTEMPLATE) + TM_PART(36, WP, FRAMEBOTTOMSIZINGTEMPLATE) + TM_PART(37, WP, SMALLFRAMEBOTTOMSIZINGTEMPLATE) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(FRAME) + TM_STATE(1, FS, ACTIVE) + TM_STATE(2, FS, INACTIVE) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(CAPTION) + TM_STATE(1, CS, ACTIVE) + TM_STATE(2, CS, INACTIVE) + TM_STATE(3, CS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(MAXCAPTION) + TM_STATE(1, MXCS, ACTIVE) + TM_STATE(2, MXCS, INACTIVE) + TM_STATE(3, MXCS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(MINCAPTION) + TM_STATE(1, MNCS, ACTIVE) + TM_STATE(2, MNCS, INACTIVE) + TM_STATE(3, MNCS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(HORZSCROLL) + TM_STATE(1, HSS, NORMAL) + TM_STATE(2, HSS, HOT) + TM_STATE(3, HSS, PUSHED) + TM_STATE(4, HSS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(HORZTHUMB) + TM_STATE(1, HTS, NORMAL) + TM_STATE(2, HTS, HOT) + TM_STATE(3, HTS, PUSHED) + TM_STATE(4, HTS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(VERTSCROLL) + TM_STATE(1, VSS, NORMAL) + TM_STATE(2, VSS, HOT) + TM_STATE(3, VSS, PUSHED) + TM_STATE(4, VSS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(VERTTHUMB) + TM_STATE(1, VTS, NORMAL) + TM_STATE(2, VTS, HOT) + TM_STATE(3, VTS, PUSHED) + TM_STATE(4, VTS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(SYSBUTTON) + TM_STATE(1, SBS, NORMAL) + TM_STATE(2, SBS, HOT) + TM_STATE(3, SBS, PUSHED) + TM_STATE(4, SBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(MINBUTTON) + TM_STATE(1, MINBS, NORMAL) + TM_STATE(2, MINBS, HOT) + TM_STATE(3, MINBS, PUSHED) + TM_STATE(4, MINBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(MAXBUTTON) + TM_STATE(1, MAXBS, NORMAL) + TM_STATE(2, MAXBS, HOT) + TM_STATE(3, MAXBS, PUSHED) + TM_STATE(4, MAXBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(RESTOREBUTTON) + TM_STATE(1, RBS, NORMAL) + TM_STATE(2, RBS, HOT) + TM_STATE(3, RBS, PUSHED) + TM_STATE(4, RBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(HELPBUTTON) + TM_STATE(1, HBS, NORMAL) + TM_STATE(2, HBS, HOT) + TM_STATE(3, HBS, PUSHED) + TM_STATE(4, HBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(CLOSEBUTTON) + TM_STATE(1, CBS, NORMAL) + TM_STATE(2, CBS, HOT) + TM_STATE(3, CBS, PUSHED) + TM_STATE(4, CBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(BUTTON) + TM_PART(1, BP, PUSHBUTTON) + TM_PART(2, BP, RADIOBUTTON) + TM_PART(3, BP, CHECKBOX) + TM_PART(4, BP, GROUPBOX) + TM_PART(5, BP, USERBUTTON) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(PUSHBUTTON) + TM_STATE(1, PBS, NORMAL) + TM_STATE(2, PBS, HOT) + TM_STATE(3, PBS, PRESSED) + TM_STATE(4, PBS, DISABLED) + TM_STATE(5, PBS, DEFAULTED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(RADIOBUTTON) + TM_STATE(1, RBS, UNCHECKEDNORMAL) + TM_STATE(2, RBS, UNCHECKEDHOT) + TM_STATE(3, RBS, UNCHECKEDPRESSED) + TM_STATE(4, RBS, UNCHECKEDDISABLED) + TM_STATE(5, RBS, CHECKEDNORMAL) + TM_STATE(6, RBS, CHECKEDHOT) + TM_STATE(7, RBS, CHECKEDPRESSED) + TM_STATE(8, RBS, CHECKEDDISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(CHECKBOX) + TM_STATE(1, CBS, UNCHECKEDNORMAL) + TM_STATE(2, CBS, UNCHECKEDHOT) + TM_STATE(3, CBS, UNCHECKEDPRESSED) + TM_STATE(4, CBS, UNCHECKEDDISABLED) + TM_STATE(5, CBS, CHECKEDNORMAL) + TM_STATE(6, CBS, CHECKEDHOT) + TM_STATE(7, CBS, CHECKEDPRESSED) + TM_STATE(8, CBS, CHECKEDDISABLED) + TM_STATE(9, CBS, MIXEDNORMAL) + TM_STATE(10, CBS, MIXEDHOT) + TM_STATE(11, CBS, MIXEDPRESSED) + TM_STATE(12, CBS, MIXEDDISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(GROUPBOX) + TM_STATE(1, GBS, NORMAL) + TM_STATE(2, GBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(REBAR) + TM_PART(1, RP, GRIPPER) + TM_PART(2, RP, GRIPPERVERT) + TM_PART(3, RP, BAND) + TM_PART(4, RP, CHEVRON) + TM_PART(5, RP, CHEVRONVERT) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(CHEVRON) + TM_STATE(1, CHEVS, NORMAL) + TM_STATE(2, CHEVS, HOT) + TM_STATE(3, CHEVS, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(TOOLBAR) + TM_PART(1, TP, BUTTON) + TM_PART(2, TP, DROPDOWNBUTTON) + TM_PART(3, TP, SPLITBUTTON) + TM_PART(4, TP, SPLITBUTTONDROPDOWN) + TM_PART(5, TP, SEPARATOR) + TM_PART(6, TP, SEPARATORVERT) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(TOOLBAR) + TM_STATE(1, TS, NORMAL) + TM_STATE(2, TS, HOT) + TM_STATE(3, TS, PRESSED) + TM_STATE(4, TS, DISABLED) + TM_STATE(5, TS, CHECKED) + TM_STATE(6, TS, HOTCHECKED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(STATUS) + TM_PART(1, SP, PANE) + TM_PART(2, SP, GRIPPERPANE) + TM_PART(3, SP, GRIPPER) + END_TM_CLASS_PARTS() + + BEGIN_TM_CLASS_PARTS(MENU) + TM_PART(1, MP, MENUITEM) + TM_PART(2, MP, MENUDROPDOWN) + TM_PART(3, MP, MENUBARITEM) + TM_PART(4, MP, MENUBARDROPDOWN) + TM_PART(5, MP, CHEVRON) + TM_PART(6, MP, SEPARATOR) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(MENU) + TM_STATE(1, MS, NORMAL) + TM_STATE(2, MS, SELECTED) + TM_STATE(3, MS, DEMOTED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(LISTVIEW) + TM_PART(1, LVP, LISTITEM) + TM_PART(2, LVP, LISTGROUP) + TM_PART(3, LVP, LISTDETAIL) + TM_PART(4, LVP, LISTSORTEDDETAIL) + TM_PART(5, LVP, EMPTYTEXT) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(LISTITEM) + TM_STATE(1, LIS, NORMAL) + TM_STATE(2, LIS, HOT) + TM_STATE(3, LIS, SELECTED) + TM_STATE(4, LIS, DISABLED) + TM_STATE(5, LIS, SELECTEDNOTFOCUS) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(HEADER) + TM_PART(1, HP, HEADERITEM) + TM_PART(2, HP, HEADERITEMLEFT) + TM_PART(3, HP, HEADERITEMRIGHT) + TM_PART(4, HP, HEADERSORTARROW) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(HEADERITEM) + TM_STATE(1, HIS, NORMAL) + TM_STATE(2, HIS, HOT) + TM_STATE(3, HIS, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(HEADERITEMLEFT) + TM_STATE(1, HILS, NORMAL) + TM_STATE(2, HILS, HOT) + TM_STATE(3, HILS, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(HEADERITEMRIGHT) + TM_STATE(1, HIRS, NORMAL) + TM_STATE(2, HIRS, HOT) + TM_STATE(3, HIRS, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(HEADERSORTARROW) + TM_STATE(1, HSAS, SORTEDUP) + TM_STATE(2, HSAS, SORTEDDOWN) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(PROGRESS) + TM_PART(1, PP, BAR) + TM_PART(2, PP, BARVERT) + TM_PART(3, PP, CHUNK) + TM_PART(4, PP, CHUNKVERT) + END_TM_CLASS_PARTS() + + BEGIN_TM_CLASS_PARTS(TAB) + TM_PART(1, TABP, TABITEM) + TM_PART(2, TABP, TABITEMLEFTEDGE) + TM_PART(3, TABP, TABITEMRIGHTEDGE) + TM_PART(4, TABP, TABITEMBOTHEDGE) + TM_PART(5, TABP, TOPTABITEM) + TM_PART(6, TABP, TOPTABITEMLEFTEDGE) + TM_PART(7, TABP, TOPTABITEMRIGHTEDGE) + TM_PART(8, TABP, TOPTABITEMBOTHEDGE) + TM_PART(9, TABP, PANE) + TM_PART(10, TABP, BODY) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(TABITEM) + TM_STATE(1, TIS, NORMAL) + TM_STATE(2, TIS, HOT) + TM_STATE(3, TIS, SELECTED) + TM_STATE(4, TIS, DISABLED) + TM_STATE(5, TIS, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TABITEMLEFTEDGE) + TM_STATE(1, TILES, NORMAL) + TM_STATE(2, TILES, HOT) + TM_STATE(3, TILES, SELECTED) + TM_STATE(4, TILES, DISABLED) + TM_STATE(5, TILES, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TABITEMRIGHTEDGE) + TM_STATE(1, TIRES, NORMAL) + TM_STATE(2, TIRES, HOT) + TM_STATE(3, TIRES, SELECTED) + TM_STATE(4, TIRES, DISABLED) + TM_STATE(5, TIRES, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TABITEMBOTHEDGES) + TM_STATE(1, TIBES, NORMAL) + TM_STATE(2, TIBES, HOT) + TM_STATE(3, TIBES, SELECTED) + TM_STATE(4, TIBES, DISABLED) + TM_STATE(5, TIBES, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TOPTABITEM) + TM_STATE(1, TTIS, NORMAL) + TM_STATE(2, TTIS, HOT) + TM_STATE(3, TTIS, SELECTED) + TM_STATE(4, TTIS, DISABLED) + TM_STATE(5, TTIS, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TOPTABITEMLEFTEDGE) + TM_STATE(1, TTILES, NORMAL) + TM_STATE(2, TTILES, HOT) + TM_STATE(3, TTILES, SELECTED) + TM_STATE(4, TTILES, DISABLED) + TM_STATE(5, TTILES, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TOPTABITEMRIGHTEDGE) + TM_STATE(1, TTIRES, NORMAL) + TM_STATE(2, TTIRES, HOT) + TM_STATE(3, TTIRES, SELECTED) + TM_STATE(4, TTIRES, DISABLED) + TM_STATE(5, TTIRES, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TOPTABITEMBOTHEDGES) + TM_STATE(1, TTIBES, NORMAL) + TM_STATE(2, TTIBES, HOT) + TM_STATE(3, TTIBES, SELECTED) + TM_STATE(4, TTIBES, DISABLED) + TM_STATE(5, TTIBES, FOCUSED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(TRACKBAR) + TM_PART(1, TKP, TRACK) + TM_PART(2, TKP, TRACKVERT) + TM_PART(3, TKP, THUMB) + TM_PART(4, TKP, THUMBBOTTOM) + TM_PART(5, TKP, THUMBTOP) + TM_PART(6, TKP, THUMBVERT) + TM_PART(7, TKP, THUMBLEFT) + TM_PART(8, TKP, THUMBRIGHT) + TM_PART(9, TKP, TICS) + TM_PART(10, TKP, TICSVERT) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(TRACKBAR) + TM_STATE(1, TKS, NORMAL) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TRACK) + TM_STATE(1, TRS, NORMAL) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TRACKVERT) + TM_STATE(1, TRVS, NORMAL) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(THUMB) + TM_STATE(1, TUS, NORMAL) + TM_STATE(2, TUS, HOT) + TM_STATE(3, TUS, PRESSED) + TM_STATE(4, TUS, FOCUSED) + TM_STATE(5, TUS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(THUMBBOTTOM) + TM_STATE(1, TUBS, NORMAL) + TM_STATE(2, TUBS, HOT) + TM_STATE(3, TUBS, PRESSED) + TM_STATE(4, TUBS, FOCUSED) + TM_STATE(5, TUBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(THUMBTOP) + TM_STATE(1, TUTS, NORMAL) + TM_STATE(2, TUTS, HOT) + TM_STATE(3, TUTS, PRESSED) + TM_STATE(4, TUTS, FOCUSED) + TM_STATE(5, TUTS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(THUMBVERT) + TM_STATE(1, TUVS, NORMAL) + TM_STATE(2, TUVS, HOT) + TM_STATE(3, TUVS, PRESSED) + TM_STATE(4, TUVS, FOCUSED) + TM_STATE(5, TUVS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(THUMBLEFT) + TM_STATE(1, TUVLS, NORMAL) + TM_STATE(2, TUVLS, HOT) + TM_STATE(3, TUVLS, PRESSED) + TM_STATE(4, TUVLS, FOCUSED) + TM_STATE(5, TUVLS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(THUMBRIGHT) + TM_STATE(1, TUVRS, NORMAL) + TM_STATE(2, TUVRS, HOT) + TM_STATE(3, TUVRS, PRESSED) + TM_STATE(4, TUVRS, FOCUSED) + TM_STATE(5, TUVRS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TICS) + TM_STATE(1, TSS, NORMAL) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(TICSVERT) + TM_STATE(1, TSVS, NORMAL) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(TOOLTIP) + TM_PART(1, TTP, STANDARD) + TM_PART(2, TTP, STANDARDTITLE) + TM_PART(3, TTP, BALLOON) + TM_PART(4, TTP, BALLOONTITLE) + TM_PART(5, TTP, CLOSE) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(CLOSE) + TM_STATE(1, TTCS, NORMAL) + TM_STATE(2, TTCS, HOT) + TM_STATE(3, TTCS, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(STANDARD) + TM_STATE(1, TTSS, NORMAL) + TM_STATE(2, TTSS, LINK) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(BALLOON) + TM_STATE(1, TTBS, NORMAL) + TM_STATE(2, TTBS, LINK) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(TREEVIEW) + TM_PART(1, TVP, TREEITEM) + TM_PART(2, TVP, GLYPH) + TM_PART(3, TVP, BRANCH) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(TREEITEM) + TM_STATE(1, TREIS, NORMAL) + TM_STATE(2, TREIS, HOT) + TM_STATE(3, TREIS, SELECTED) + TM_STATE(4, TREIS, DISABLED) + TM_STATE(5, TREIS, SELECTEDNOTFOCUS) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(GLYPH) + TM_STATE(1, GLPS, CLOSED) + TM_STATE(2, GLPS, OPENED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(SPIN) + TM_PART(1, SPNP, UP) + TM_PART(2, SPNP, DOWN) + TM_PART(3, SPNP, UPHORZ) + TM_PART(4, SPNP, DOWNHORZ) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(UP) + TM_STATE(1, UPS, NORMAL) + TM_STATE(2, UPS, HOT) + TM_STATE(3, UPS, PRESSED) + TM_STATE(4, UPS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(DOWN) + TM_STATE(1, DNS, NORMAL) + TM_STATE(2, DNS, HOT) + TM_STATE(3, DNS, PRESSED) + TM_STATE(4, DNS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(UPHORZ) + TM_STATE(1, UPHZS, NORMAL) + TM_STATE(2, UPHZS, HOT) + TM_STATE(3, UPHZS, PRESSED) + TM_STATE(4, UPHZS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(DOWNHORZ) + TM_STATE(1, DNHZS, NORMAL) + TM_STATE(2, DNHZS, HOT) + TM_STATE(3, DNHZS, PRESSED) + TM_STATE(4, DNHZS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(PAGE) + TM_PART(1, PGRP, UP) + TM_PART(2, PGRP, DOWN) + TM_PART(3, PGRP, UPHORZ) + TM_PART(4, PGRP, DOWNHORZ) + END_TM_CLASS_PARTS() + + BEGIN_TM_CLASS_PARTS(SCROLLBAR) + TM_PART(1, SBP, ARROWBTN) + TM_PART(2, SBP, THUMBBTNHORZ) + TM_PART(3, SBP, THUMBBTNVERT) + TM_PART(4, SBP, LOWERTRACKHORZ) + TM_PART(5, SBP, UPPERTRACKHORZ) + TM_PART(6, SBP, LOWERTRACKVERT) + TM_PART(7, SBP, UPPERTRACKVERT) + TM_PART(8, SBP, GRIPPERHORZ) + TM_PART(9, SBP, GRIPPERVERT) + TM_PART(10, SBP, SIZEBOX) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(ARROWBTN) + TM_STATE(1, ABS, UPNORMAL) + TM_STATE(2, ABS, UPHOT) + TM_STATE(3, ABS, UPPRESSED) + TM_STATE(4, ABS, UPDISABLED) + TM_STATE(5, ABS, DOWNNORMAL) + TM_STATE(6, ABS, DOWNHOT) + TM_STATE(7, ABS, DOWNPRESSED) + TM_STATE(8, ABS, DOWNDISABLED) + TM_STATE(9, ABS, LEFTNORMAL) + TM_STATE(10, ABS, LEFTHOT) + TM_STATE(11, ABS, LEFTPRESSED) + TM_STATE(12, ABS, LEFTDISABLED) + TM_STATE(13, ABS, RIGHTNORMAL) + TM_STATE(14, ABS, RIGHTHOT) + TM_STATE(15, ABS, RIGHTPRESSED) + TM_STATE(16, ABS, RIGHTDISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(SCROLLBAR) + TM_STATE(1, SCRBS, NORMAL) + TM_STATE(2, SCRBS, HOT) + TM_STATE(3, SCRBS, PRESSED) + TM_STATE(4, SCRBS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(SIZEBOX) + TM_STATE(1, SZB, RIGHTALIGN) + TM_STATE(2, SZB, LEFTALIGN) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(EDIT) + TM_PART(1, EP, EDITTEXT) + TM_PART(2, EP, CARET) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(EDITTEXT) + TM_STATE(1, ETS, NORMAL) + TM_STATE(2, ETS, HOT) + TM_STATE(3, ETS, SELECTED) + TM_STATE(4, ETS, DISABLED) + TM_STATE(5, ETS, FOCUSED) + TM_STATE(6, ETS, READONLY) + TM_STATE(7, ETS, ASSIST) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(COMBOBOX) + TM_PART(1, CP, DROPDOWNBUTTON) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(COMBOBOX) + TM_STATE(1, CBXS, NORMAL) + TM_STATE(2, CBXS, HOT) + TM_STATE(3, CBXS, PRESSED) + TM_STATE(4, CBXS, DISABLED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(CLOCK) + TM_PART(1, CLP, TIME) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(CLOCK) + TM_STATE(1, CLS, NORMAL) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(TRAYNOTIFY) + TM_PART(1, TNP, BACKGROUND) + TM_PART(2, TNP, ANIMBACKGROUND) + END_TM_CLASS_PARTS() + + BEGIN_TM_CLASS_PARTS(TASKBAR) + TM_PART(1, TBP, BACKGROUNDBOTTOM) + TM_PART(2, TBP, BACKGROUNDRIGHT) + TM_PART(3, TBP, BACKGROUNDTOP) + TM_PART(4, TBP, BACKGROUNDLEFT) + TM_PART(5, TBP, SIZINGBARBOTTOM) + TM_PART(6, TBP, SIZINGBARRIGHT) + TM_PART(7, TBP, SIZINGBARTOP) + TM_PART(8, TBP, SIZINGBARLEFT) + END_TM_CLASS_PARTS() + + BEGIN_TM_CLASS_PARTS(TASKBAND) + TM_PART(1, TDP, GROUPCOUNT) + TM_PART(2, TDP, FLASHBUTTON) + TM_PART(3, TDP, FLASHBUTTONGROUPMENU) + END_TM_CLASS_PARTS() + + BEGIN_TM_CLASS_PARTS(STARTPANEL) + TM_PART(1, SPP, USERPANE) + TM_PART(2, SPP, MOREPROGRAMS) + TM_PART(3, SPP, MOREPROGRAMSARROW) + TM_PART(4, SPP, PROGLIST) + TM_PART(5, SPP, PROGLISTSEPARATOR) + TM_PART(6, SPP, PLACESLIST) + TM_PART(7, SPP, PLACESLISTSEPARATOR) + TM_PART(8, SPP, LOGOFF) + TM_PART(9, SPP, LOGOFFBUTTONS) + TM_PART(10, SPP, USERPICTURE) + TM_PART(11, SPP, PREVIEW) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(MOREPROGRAMSARROW) + TM_STATE(1, SPS, NORMAL) + TM_STATE(2, SPS, HOT) + TM_STATE(3, SPS, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(LOGOFFBUTTONS) + TM_STATE(1, SPLS, NORMAL) + TM_STATE(2, SPLS, HOT) + TM_STATE(3, SPLS, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(EXPLORERBAR) + TM_PART(1, EBP, HEADERBACKGROUND) + TM_PART(2, EBP, HEADERCLOSE) + TM_PART(3, EBP, HEADERPIN) + TM_PART(4, EBP, IEBARMENU) + TM_PART(5, EBP, NORMALGROUPBACKGROUND) + TM_PART(6, EBP, NORMALGROUPCOLLAPSE) + TM_PART(7, EBP, NORMALGROUPEXPAND) + TM_PART(8, EBP, NORMALGROUPHEAD) + TM_PART(9, EBP, SPECIALGROUPBACKGROUND) + TM_PART(10, EBP, SPECIALGROUPCOLLAPSE) + TM_PART(11, EBP, SPECIALGROUPEXPAND) + TM_PART(12, EBP, SPECIALGROUPHEAD) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(HEADERCLOSE) + TM_STATE(1, EBHC, NORMAL) + TM_STATE(2, EBHC, HOT) + TM_STATE(3, EBHC, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(HEADERPIN) + TM_STATE(1, EBHP, NORMAL) + TM_STATE(2, EBHP, HOT) + TM_STATE(3, EBHP, PRESSED) + TM_STATE(4, EBHP, SELECTEDNORMAL) + TM_STATE(5, EBHP, SELECTEDHOT) + TM_STATE(6, EBHP, SELECTEDPRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(IEBARMENU) + TM_STATE(1, EBM, NORMAL) + TM_STATE(2, EBM, HOT) + TM_STATE(3, EBM, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(NORMALGROUPCOLLAPSE) + TM_STATE(1, EBNGC, NORMAL) + TM_STATE(2, EBNGC, HOT) + TM_STATE(3, EBNGC, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(NORMALGROUPEXPAND) + TM_STATE(1, EBNGE, NORMAL) + TM_STATE(2, EBNGE, HOT) + TM_STATE(3, EBNGE, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(SPECIALGROUPCOLLAPSE) + TM_STATE(1, EBSGC, NORMAL) + TM_STATE(2, EBSGC, HOT) + TM_STATE(3, EBSGC, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_PART_STATES(SPECIALGROUPEXPAND) + TM_STATE(1, EBSGE, NORMAL) + TM_STATE(2, EBSGE, HOT) + TM_STATE(3, EBSGE, PRESSED) + END_TM_PART_STATES() + + BEGIN_TM_CLASS_PARTS(MENUBAND) + TM_PART(1, MDP, NEWAPPBUTTON) + TM_PART(2, MDP, SEPERATOR) + END_TM_CLASS_PARTS() + + BEGIN_TM_PART_STATES(MENUBAND) + TM_STATE(1, MDS, NORMAL) + TM_STATE(2, MDS, HOT) + TM_STATE(3, MDS, PRESSED) + TM_STATE(4, MDS, DISABLED) + TM_STATE(5, MDS, CHECKED) + TM_STATE(6, MDS, HOTCHECKED) + END_TM_PART_STATES() + +END_TM_SCHEMA(ThemeMgrSchema) + +#endif + +/* EOF */ diff --git a/reactos/include/uxtheme.h b/reactos/include/uxtheme.h new file mode 100644 index 00000000000..e494a5e3c06 --- /dev/null +++ b/reactos/include/uxtheme.h @@ -0,0 +1,468 @@ +#ifndef _UXTHEME_H_ +#define _UXTHEME_H_ + +#include + +#if !defined(THEMEAPI) +# if !defined(_UXTHEME_) +# define THEMEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE +# define THEMEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE +# else +# define THEMEAPI STDAPI +# define THEMEAPI_(type) STDAPI_(type) +# endif +#endif + +typedef HANDLE HTHEME; + +THEMEAPI_(HTHEME) OpenThemeData +( + IN HWND hwnd, + IN LPCWSTR pszClassList +); + +THEMEAPI CloseThemeData +( + IN HTHEME hTheme +); + +THEMEAPI DrawThemeBackground +( + IN HTHEME hTheme, + IN HDC hdc, + IN int iPartId, + IN int iStateId, + IN const RECT * pRect, + IN OPTIONAL const RECT * pClipRect +); + +#define DTT_GRAYED (1) + +THEMEAPI DrawThemeText +( + IN HTHEME hTheme, + IN HDC hdc, + IN int iPartId, + IN int iStateId, + IN LPCWSTR pszText, + IN int iCharCount, + IN DWORD dwTextFlags, + IN DWORD dwTextFlags2, + IN const RECT *pRect +); + +THEMEAPI GetThemeBackgroundContentRect +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + IN const RECT * pBoundingRect, + OUT RECT * pContentRect +); + +THEMEAPI GetThemeBackgroundExtent +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + IN const RECT * pContentRect, + OUT RECT * pExtentRect +); + +enum THEMESIZE +{ + TS_MIN, + TS_TRUE, + TS_DRAW, +}; + +THEMEAPI GetThemePartSize +( + IN HTHEME hTheme, + IN HDC hdc, + IN int iPartId, + IN int iStateId, + IN OPTIONAL RECT * prc, + IN enum THEMESIZE eSize, + OUT SIZE * psz +); + +THEMEAPI GetThemeTextExtent +( + IN HTHEME hTheme, + IN HDC hdc, + IN int iPartId, + IN int iStateId, + IN LPCWSTR pszText, + IN int iCharCount, + IN DWORD dwTextFlags, + IN OPTIONAL const RECT * pBoundingRect, + OUT RECT * pExtentRect +); + +THEMEAPI GetThemeTextMetrics +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + OUT TEXTMETRIC * ptm +); + +THEMEAPI GetThemeBackgroundRegion +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + IN const RECT * pRect, + OUT HRGN * pRegion +); + +#define HTTB_BACKGROUNDSEG (0x00000000) +#define HTTB_FIXEDBORDER (0x00000002) +#define HTTB_CAPTION (0x00000004) +#define HTTB_RESIZINGBORDER_LEFT (0x00000010) +#define HTTB_RESIZINGBORDER_TOP (0x00000020) +#define HTTB_RESIZINGBORDER_RIGHT (0x00000040) +#define HTTB_RESIZINGBORDER_BOTTOM (0x00000080) +#define HTTB_SIZINGTEMPLATE (0x00000100) +#define HTTB_SYSTEMSIZINGMARGINS (0x00000200) + +#define HTTB_RESIZINGBORDER \ + ( \ + HTTB_RESIZINGBORDER_LEFT | \ + HTTB_RESIZINGBORDER_TOP | \ + HTTB_RESIZINGBORDER_RIGHT | \ + HTTB_RESIZINGBORDER_BOTTOM \ + ) + +THEMEAPI HitTestThemeBackground +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + IN DWORD dwOptions, + IN const RECT * pRect, + IN OPTIONAL HRGN hrgn, + IN POINT ptTest, + OUT WORD * pwHitTestCode +); + +THEMEAPI DrawThemeEdge +( + IN HTHEME hTheme, + IN HDC hdc, + IN int iPartId, + IN int iStateId, + IN const RECT * pDestRect, + IN UINT uEdge, + IN UINT uFlags, + OUT OPTIONAL RECT * pContentRect +); + +THEMEAPI DrawThemeIcon +( + IN HTHEME hTheme, + IN HDC hdc, + IN int iPartId, + IN int iStateId, + IN const RECT * pRect, + IN HIMAGELIST himl, + int iImageIndex +); + +THEMEAPI_(BOOL) IsThemePartDefined +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId +); + +THEMEAPI_(BOOL) IsThemeBackgroundPartiallyTransparent +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId +); + +THEMEAPI GetThemeColor +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT COLORREF * pColor +); + +THEMEAPI GetThemeMetric +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT int * piVal +); + +THEMEAPI GetThemeString +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT LPWSTR pszBuff, + IN int cchMaxBuffChars +); + +THEMEAPI GetThemeBool +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT BOOL * pfVal +); + +THEMEAPI GetThemeInt +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT int * piVal +); + +THEMEAPI GetThemeEnumValue +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT int * piVal +); + +THEMEAPI GetThemePosition +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT POINT * pPoint +); + +THEMEAPI GetThemeFont +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT LOGFONT * pFont +); + +THEMEAPI GetThemeRect +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT RECT * pRect +); + +typedef struct _MARGINS +{ + int cxLeftWidth; + int cxRightWidth; + int cyTopHeight; + int cyBottomHeight; +} +MARGINS, * PMARGINS; + +THEMEAPI GetThemeMargins +( + IN HTHEME hTheme, + IN OPTIONAL HDC hdc, + IN int iPartId, + IN int iStateId, + IN int iPropId, + IN OPTIONAL RECT * prc, + OUT MARGINS * pMargins +); + +#define MAX_INTLIST_COUNT (10) + +typedef struct _INTLIST +{ + int iValueCount; + int iValues[MAX_INTLIST_COUNT]; +} +INTLIST, * PINTLIST; + +THEMEAPI GetThemeIntList +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT INTLIST * pIntList +); + +enum PROPERTYORIGIN +{ + PO_STATE, + PO_PART, + PO_CLASS, + PO_GLOBAL, + PO_NOTFOUND +}; + +THEMEAPI GetThemePropertyOrigin +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT enum PROPERTYORIGIN * pOrigin +); + +THEMEAPI SetWindowTheme +( + IN HWND hwnd, + IN LPCWSTR pszSubAppName, + IN LPCWSTR pszSubIdList +); + +THEMEAPI GetThemeFilename +( + IN HTHEME hTheme, + IN int iPartId, + IN int iStateId, + IN int iPropId, + OUT LPWSTR pszThemeFileName, + IN int cchMaxBuffChars +); + +THEMEAPI_(COLORREF) GetThemeSysColor +( + IN HTHEME hTheme, + IN int iColorId +); + +THEMEAPI_(HBRUSH) GetThemeSysColorBrush +( + IN HTHEME hTheme, + IN int iColorId +); + +THEMEAPI_(BOOL) GetThemeSysBool +( + IN HTHEME hTheme, + IN int iBoolId +); + +THEMEAPI_(int) GetThemeSysSize +( + IN HTHEME hTheme, + IN int iSizeId +); + +THEMEAPI GetThemeSysFont +( + IN HTHEME hTheme, + IN int iFontId, + OUT LOGFONT * plf +); + +THEMEAPI GetThemeSysString +( + IN HTHEME hTheme, + IN int iStringId, + OUT LPWSTR pszStringBuff, + IN int cchMaxStringChars +); + +THEMEAPI GetThemeSysInt +( + IN HTHEME hTheme, + IN int iIntId, + IN int * piValue +); + +THEMEAPI_(BOOL) IsThemeActive(void); + +THEMEAPI_(BOOL) IsAppThemed(void); + +THEMEAPI_(HTHEME) GetWindowTheme +( + IN HWND hwnd +); + +#define ETDT_DISABLE (0x00000001) +#define ETDT_ENABLE (0x00000002) +#define ETDT_USETABTEXTURE (0x00000004) +#define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE) + +THEMEAPI EnableThemeDialogTexture +( + IN HWND hwnd, + IN DWORD dwFlags +); + +THEMEAPI_(BOOL) IsThemeDialogTextureEnabled +( + IN HWND hwnd +); + +#define STAP_ALLOW_NONCLIENT (0x00000001) +#define STAP_ALLOW_CONTROLS (0x00000002) +#define STAP_ALLOW_WEBCONTENT (0x00000004) + +THEMEAPI_(DWORD) GetThemeAppProperties(void); + +THEMEAPI_(void) SetThemeAppProperties +( + IN DWORD dwFlags +); + +THEMEAPI GetCurrentThemeName +( + OUT LPWSTR pszThemeFileName, + IN int cchMaxNameChars, + OUT OPTIONAL LPWSTR pszColorBuff, + IN int cchMaxColorChars, + OUT OPTIONAL LPWSTR pszSizeBuff, + IN int cchMaxSizeChars +); + +#define SZ_THDOCPROP_DISPLAYNAME L"DisplayName" +#define SZ_THDOCPROP_CANONICALNAME L"ThemeName" +#define SZ_THDOCPROP_TOOLTIP L"ToolTip" +#define SZ_THDOCPROP_AUTHOR L"author" + +THEMEAPI GetThemeDocumentationProperty +( + IN LPCWSTR pszThemeName, + IN LPCWSTR pszPropertyName, + OUT LPWSTR pszValueBuff, + IN int cchMaxValChars +); + +THEMEAPI DrawThemeParentBackground +( + IN HWND hwnd, + IN HDC hdc, + IN OPTIONAL RECT * prc +); + +THEMEAPI EnableTheming +( + IN BOOL fEnable +); + +#endif + +/* EOF */