/*
 * Copyright (C) 2003 Kevin Koltzau
 * Copyright (C) 2004 Francois Gouget
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

/*
 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
 * a choice of LGPL license versions is made available with the language indicating
 * that LGPLv2 or any later version may be used, or where a choice of which version
 * of the LGPL is applied is otherwise unspecified.
 */

#ifndef __WINE_TMSCHEMA_H
#define __WINE_TMSCHEMA_H

#include <schemadef.h>

BEGIN_TM_SCHEMA(ThemeMgrSchema)


/***** ENUMERATIONS *****/

/* BGTYPE Enum */
BEGIN_TM_ENUM(BGTYPE)
    TM_ENUM(0, BT, IMAGEFILE)
    TM_ENUM(1, BT, BORDERFILL)
    TM_ENUM(2, BT, NONE)
END_TM_ENUM()

/* IMAGELAYOUT Enum */
BEGIN_TM_ENUM(IMAGELAYOUT)
    TM_ENUM(0, IL, VERTICAL)
    TM_ENUM(1, IL, HORIZONTAL)
END_TM_ENUM()

/* BORDERTYPE Enum */
BEGIN_TM_ENUM(BORDERTYPE)
    TM_ENUM(0, BT, RECT)
    TM_ENUM(1, BT, ROUNDRECT)
    TM_ENUM(2, BT, ELLIPSE)
END_TM_ENUM()

/* FILLTYPE 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()

/* SIZINGTYPE Enum */
BEGIN_TM_ENUM(SIZINGTYPE)
    TM_ENUM(0, ST, TRUESIZE)
    TM_ENUM(1, ST, STRETCH)
    TM_ENUM(2, ST, TILE)
END_TM_ENUM()

/* HALIGN Enum */
BEGIN_TM_ENUM(HALIGN)
    TM_ENUM(0, HA, LEFT)
    TM_ENUM(1, HA, CENTER)
    TM_ENUM(2, HA, RIGHT)
END_TM_ENUM()

/* CONTENTALIGNMENT Enum */
BEGIN_TM_ENUM(CONTENTALIGNMENT)
    TM_ENUM(0, CA, LEFT)
    TM_ENUM(1, CA, CENTER)
    TM_ENUM(2, CA, RIGHT)
END_TM_ENUM()

/* VALIGN Enum */
BEGIN_TM_ENUM(VALIGN)
    TM_ENUM(0, VA, TOP)
    TM_ENUM(1, VA, CENTER)
    TM_ENUM(2, VA, BOTTOM)
END_TM_ENUM()

/* OFFSETTYPE 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()

/* ICONEFFECT 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()

/* TEXTSHADOWTYPE Enum */
BEGIN_TM_ENUM(TEXTSHADOWTYPE)
    TM_ENUM(0, TST, NONE)
    TM_ENUM(1, TST, SINGLE)
    TM_ENUM(2, TST, CONTINUOUS)
END_TM_ENUM()

/* GLYPHTYPE Enum */
BEGIN_TM_ENUM(GLYPHTYPE)
    TM_ENUM(0, GT, NONE)
    TM_ENUM(1, GT, IMAGEGLYPH)
    TM_ENUM(2, GT, FONTGLYPH)
END_TM_ENUM()

/* IMAGESELECTTYPE Enum */
BEGIN_TM_ENUM(IMAGESELECTTYPE)
    TM_ENUM(0, IST, NONE)
    TM_ENUM(1, IST, SIZE)
    TM_ENUM(2, IST, DPI)
END_TM_ENUM()

/* TRUESIZESCALINGTYPE Enum */
BEGIN_TM_ENUM(TRUESIZESCALINGTYPE)
    TM_ENUM(0, TSST, NONE)
    TM_ENUM(1, TSST, SIZE)
    TM_ENUM(2, TSST, DPI)
END_TM_ENUM()

/* GLYPHFONTSIZINGTYPE Enum */
BEGIN_TM_ENUM(GLYPHFONTSIZINGTYPE)
    TM_ENUM(0, GFST, NONE)
    TM_ENUM(1, GFST, SIZE)
    TM_ENUM(2, GFST, DPI)
END_TM_ENUM()


/***** PROPERTIES *****/
BEGIN_TM_PROPS()

    /* Primitive types */
    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)
    /* we should have ENUM around here */

    /* Misc properties */
    TM_PROP(401, TMT, COLORSCHEMES,               STRING)
    TM_PROP(402, TMT, SIZES,                      STRING)
    TM_PROP(403, TMT, CHARSET,                    INT)

    /* Documentation properties */
    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_FIRST_RCSTRING_NAME                TMT_DISPLAYNAME
#   define TMT_LAST_RCSTRING_NAME                 TMT_DESCRIPTION

    /* Font theme metric properties */
    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_FIRSTFONT                          TMT_CAPTIONFONT
#   define TMT_LASTFONT                           TMT_ICONTITLEFONT

    /* Bool theme metric properties */
    TM_PROP(1001, TMT, FLATMENUS,                 BOOL)
#   define TMT_FIRSTBOOL                          TMT_FLATMENUS
#   define TMT_LASTBOOL                           TMT_FLATMENUS

    /* Size theme metric properties */
    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_FIRSTSIZE                          TMT_SIZINGBORDERWIDTH
#   define TMT_LASTSIZE                           TMT_MENUBARHEIGHT

    /* Int theme metric properties */
    TM_PROP(1301, TMT, MINCOLORDEPTH,             INT)
#   define TMT_FIRSTINT                           TMT_MINCOLORDEPTH
#   define TMT_LASTINT                            TMT_MINCOLORDEPTH

    /* String theme metric properties */
    TM_PROP(1401, TMT, CSSNAME,                   STRING)
    TM_PROP(1402, TMT, XMLNAME,                   STRING)
#   define TMT_FIRSTSTRING                        TMT_CSSNAME
#   define TMT_LASTSTRING                         TMT_XMLNAME

    /* Color theme metric properties */
    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)
#   define TMT_FIRSTCOLOR                         TMT_SCROLLBAR
#   define TMT_LASTCOLOR                          TMT_MENUBAR

    /* 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)

    /* color substitutions */
    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)

    /* Bool rendering properties */
    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)

    /* Int rendering properties */
    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)

    /* Font rendering properties */
    TM_PROP(2601, TMT, GLYPHFONT,                 FONT)

    /* Filename rendering properties */
    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)

    /* String rendering properties */
    TM_PROP(3201, TMT, TEXT,                      STRING)

    /* Position rendering properties */
    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)

    /* Margin rendering properties */
    TM_PROP(3601, TMT, SIZINGMARGINS,             MARGINS)
    TM_PROP(3602, TMT, CONTENTMARGINS,            MARGINS)
    TM_PROP(3603, TMT, CAPTIONMARGINS,            MARGINS)

    /* Color rendering properties */
    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)

    /* Enum rendering properties */
    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)

    /* custom properties */
    TM_PROP(5001, TMT, USERPICTURE,               BOOL)
    TM_PROP(5002, TMT, DEFAULTPANESIZE,           RECT)
    TM_PROP(5003, TMT, BLENDCOLOR,                COLOR)

END_TM_PROPS()


/***** PARTS & STATES *****/

/* BUTTON parts */
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()

/* BUTTON - PUSHBUTTON states */
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()

/* BUTTON - RADIOBUTTON 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()

/* BUTTON - CHECKBOX 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()

/* BUTTON - GROUPBOX states */
BEGIN_TM_PART_STATES(GROUPBOX)
    TM_STATE(1, GBS, NORMAL)
    TM_STATE(2, GBS, DISABLED)
END_TM_PART_STATES()

/* CLOCK parts */
BEGIN_TM_CLASS_PARTS(CLOCK)
    TM_PART(1, CLP, TIME)
END_TM_CLASS_PARTS()

/* CLOCK states */
BEGIN_TM_PART_STATES(CLOCK)
    TM_STATE(1, CLS, NORMAL)
END_TM_PART_STATES()

/* COMBOBOX parts */
BEGIN_TM_CLASS_PARTS(COMBOBOX)
    TM_PART(1, CP, DROPDOWNBUTTON)
END_TM_CLASS_PARTS()

/* COMBOBOX states */
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()

/* EDIT parts */
BEGIN_TM_CLASS_PARTS(EDIT)
    TM_PART(1, EP, EDITTEXT)
    TM_PART(2, EP, CARET)
END_TM_CLASS_PARTS()

/* EDIT - EDITTEXT states */
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()

/* EXPLORERBAR parts */
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()

/* EXPLORERBAR - HEADERCLOSE states */
BEGIN_TM_PART_STATES(HEADERCLOSE)
    TM_STATE(1, EBHC, NORMAL)
    TM_STATE(2, EBHC, HOT)
    TM_STATE(3, EBHC, PRESSED)
END_TM_PART_STATES()

/* EXPLORERBAR - HEADERPIN 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()

/* EXPLORERBAR - IEBARMENU 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()

/* EXPLORERBAR - NORMALGROUPCOLLAPSE 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()

/* EXPLORERBAR - NORMALGROUPEXPAND 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()

/* EXPLORERBAR - SPECIALGROUPCOLLAPSE 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()

/* EXPLORERBAR - SPECIALGROUPEXPAND 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()

/* GLOBALS parts */
BEGIN_TM_CLASS_PARTS(GLOBALS)
    TM_PART(1, GP, BORDER)
    TM_PART(2, GP, LINEHORZ)
    TM_PART(3, GP, LINEVERT)
END_TM_CLASS_PARTS()

/* GLOBALS - BORDER states */
BEGIN_TM_PART_STATES(BORDER)
    TM_STATE(1, BSS, FLAT)
    TM_STATE(2, BSS, RAISED)
    TM_STATE(3, BSS, SUNKEN)
END_TM_PART_STATES()

/* GLOBALS - LINEHORZ states */
BEGIN_TM_PART_STATES(LINEHORZ)
    TM_STATE(1, LHS, FLAT)
    TM_STATE(2, LHS, RAISED)
    TM_STATE(3, LHS, SUNKEN)
END_TM_PART_STATES()

/* GLOBAL - LINEVERT states */
BEGIN_TM_PART_STATES(LINEVERT)
    TM_STATE(1, LVS, FLAT)
    TM_STATE(2, LVS, RAISED)
    TM_STATE(3, LVS, SUNKEN)
END_TM_PART_STATES()

/* HEADER parts */
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()

/* HEADER - HEADERITEM states */
BEGIN_TM_PART_STATES(HEADERITEM)
    TM_STATE(1, HIS, NORMAL)
    TM_STATE(2, HIS, HOT)
    TM_STATE(3, HIS, PRESSED)
END_TM_PART_STATES()

/* HEADER - HEADERITEMLEFT 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()

/* HEADER - HEADERITEMRIGHT 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()

/* HEADER - HEADERSORTARROW states */
BEGIN_TM_PART_STATES(HEADERSORTARROW)
    TM_STATE(1, HSAS, SORTEDUP)
    TM_STATE(2, HSAS, SORTEDDOWN)
END_TM_PART_STATES()

/* LISTVIEW parts */
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()

/* LISTVIEW - LISTITEM states */
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()

/* MENU 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()

/* MENU - * states */
BEGIN_TM_PART_STATES(MENU)
    TM_STATE(1, MS, NORMAL)
    TM_STATE(2, MS, SELECTED)
    TM_STATE(3, MS, DEMOTED)
END_TM_PART_STATES()

/* MENUBAND parts */
BEGIN_TM_CLASS_PARTS(MENUBAND)
    TM_PART(1, MDP, NEWAPPBUTTON)
/* MDP_SEPERATOR isn't a typo, as per Microsoft's headers */
    TM_PART(2, MDP, SEPERATOR)
END_TM_CLASS_PARTS()

/* MENUBAND states */
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()

/* PAGE parts */
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()

/* PAGE - UP states */
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()

/* PAGE - DOWN 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()

/* PAGE - UPHORZ 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()

/* PAGE - DOWNHORZ 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()

/* PROGRESS parts */
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()

/* REBAR parts */
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()

/* REBAR - CHEVRON states */
BEGIN_TM_PART_STATES(CHEVRON)
    TM_STATE(1, CHEVS, NORMAL)
    TM_STATE(2, CHEVS, HOT)
    TM_STATE(3, CHEVS, PRESSED)
END_TM_PART_STATES()

/* SCROLLBAR 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()

/* SCROLLBAR - ARROWBTN states */
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()

/* SCROLLBAR - LOWER* / THUMB* / UPPER* 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()

/* SCROLLBAR - SIZEBOX states */
BEGIN_TM_PART_STATES(SIZEBOX)
    TM_STATE(1, SZB, RIGHTALIGN)
    TM_STATE(2, SZB, LEFTALIGN)
END_TM_PART_STATES()

/* SPIN parts */
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()

/* SPIN * states */
/* See PAGE states */

/* STARTPANEL 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()

/* STARTPANEL - MOREPROGRAMSARROW states */
BEGIN_TM_PART_STATES(MOREPROGRAMSARROW)
    TM_STATE(1, SPS, NORMAL)
    TM_STATE(2, SPS, HOT)
    TM_STATE(3, SPS, PRESSED)
END_TM_PART_STATES()

/* STARTPANEL - LOGOFFBUTTONS 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()

/* STATUS parts */
BEGIN_TM_CLASS_PARTS(STATUS)
    TM_PART(1, SP, PANE)
    TM_PART(2, SP, GRIPPERPANE)
    TM_PART(3, SP, GRIPPER)
END_TM_CLASS_PARTS()

/* TAB 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()

/* TAB - TABITEM states */
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()

/* TAB - TABITEMLEFTEDGE 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()

/* TAB - TABITEMRIGHTEDGE 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()

/* TAB - TABITEMBOTHEDGES 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()

/* TAB - TOPTABITEM 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()

/* TAB - TOPTABITEMLEFTEDGE 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()

/* TAB - TOPTABITEMRIGHTEDGE 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()

/* TAB - TOPTABITEMBOTHEDGES 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()

/* TASKBAND 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()

/* TASKBAR 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()

/* TOOLBAR parts */
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()

/* TOOLBAR - * states */
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()

/* TOOLTIP parts */
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()

/* TOOLTIP - STANDARD states */
BEGIN_TM_PART_STATES(STANDARD)
    TM_STATE(1, TTSS, NORMAL)
    TM_STATE(2, TTSS, LINK)
END_TM_PART_STATES()

/* TOOLTIP - STANDARDTITLE states */
/* See TOOLTIP STANDARD  */

/* TOOLTIP - BALLOON states */
BEGIN_TM_PART_STATES(BALLOON)
    TM_STATE(1, TTBS, NORMAL)
    TM_STATE(2, TTBS, LINK)
END_TM_PART_STATES()

/* TOOLTIP - BALLOONTITLE states */
/* See TOOLTIP BALLOON */

/* TOOLTIP - CLOSE states */
BEGIN_TM_PART_STATES(CLOSE)
    TM_STATE(1, TTCS, NORMAL)
    TM_STATE(2, TTCS, HOT)
    TM_STATE(3, TTCS, PRESSED)
END_TM_PART_STATES()

/* TRACKBAR parts */
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()

/* TRACKBAR states */
BEGIN_TM_PART_STATES(TRACKBAR)
    TM_STATE(1, TKS, NORMAL)
END_TM_PART_STATES()

/* TRACKBAR - TRACK states */
BEGIN_TM_PART_STATES(TRACK)
    TM_STATE(1, TRS, NORMAL)
END_TM_PART_STATES()

/* TRACKBAR - TRACKVERT states */
BEGIN_TM_PART_STATES(TRACKVERT)
    TM_STATE(1, TRVS, NORMAL)
END_TM_PART_STATES()

/* TRACKBAR - THUMB 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()

/* TRACKBAR - THUMBBOTTOM 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()

/* TRACKBAR - THUMBTOP 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()

/* TRACKBAR - THUMBVERT 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()

/* TRACKBAR - THUMBLEFT 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()

/* TRACKBAR - THUMBRIGHT 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()

/* TRACKBAR - TICS states */
BEGIN_TM_PART_STATES(TICS)
    TM_STATE(1, TSS, NORMAL)
END_TM_PART_STATES()

/* TRACKBAR - TICSVERT states */
BEGIN_TM_PART_STATES(TICSVERT)
    TM_STATE(1, TSVS, NORMAL)
END_TM_PART_STATES()

/* TRAYNOTIFY parts */
BEGIN_TM_CLASS_PARTS(TRAYNOTIFY)
    TM_PART(1, TNP, BACKGROUND)
    TM_PART(2, TNP, ANIMBACKGROUND)
END_TM_CLASS_PARTS()

/* TREEVIEW parts */
BEGIN_TM_CLASS_PARTS(TREEVIEW)
    TM_PART(1, TVP, TREEITEM)
    TM_PART(2, TVP, GLYPH)
    TM_PART(3, TVP, BRANCH)
END_TM_CLASS_PARTS()

/* TREEVIEW - TREEITEM states */
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()

/* TREEVIEW - GLYPH states */
BEGIN_TM_PART_STATES(GLYPH)
    TM_STATE(1, GLPS, CLOSED)
    TM_STATE(2, GLPS, OPENED)
END_TM_PART_STATES()

/* WINDOW parts */
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()

/* WINDOW - CAPTION / SMALLCAPTION 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()

/* WINDOW - MINCAPTION / SMALLMINCAPTION 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()

/* WINDOW - MAXCAPTION / SMALLMAXCAPTION 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()

/* WINDOW - FRAME* / SMALLFRAME* states */
BEGIN_TM_PART_STATES(FRAME)
    TM_STATE(1, FS, ACTIVE)
    TM_STATE(2, FS, INACTIVE)
END_TM_PART_STATES()

/* WINDOW - SYSBUTTON / MDISYSBUTTON 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()

/* WINDOW - MINBUTTON / MDIMINBUTTON 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()

/* WINDOW - MAXBUTTON 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()

/* WINDOW - CLOSEBUTTON / SMALLCLOSEBUTTON / MDICLOSEBUTTON 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()

/* WINDOW - RESTOREBUTTON / MDIRESTOREBUTTON 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()

/* WINDOW - HELPBUTTON / MDIHELPBUTTON 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()

/* WINDOW - HORZSCROLL 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()

/* WINDOW - HORZTHUMB 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()

/* WINDOW - VERTSCROLL 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()

/* WINDOW - VERTTHUMB 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()

END_TM_SCHEMA(ThemeMgrSchema)
#endif
