Merge with gtk-wimp's CVS. Includes improved menu icon spacing, [+]/[-]

* modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
	Includes improved menu icon spacing, [+]/[-] expander drawing,
	status-bar gippie drawing, and notebook tab drawing.
This commit is contained in:
Dom Lachowicz 2005-11-25 23:47:46 +00:00
parent ff7a092232
commit 735d98916e
6 changed files with 426 additions and 201 deletions

View File

@ -1,3 +1,9 @@
2005-11-25 Dom Lachowicz <cinamod@hotmail.com>
* modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
Includes improved menu icon spacing, [+]/[-] expander drawing,
status-bar gippie drawing, and notebook tab drawing.
2005-11-24 Michael Natterer <mitch@imendio.com>
* gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint

View File

@ -1,3 +1,9 @@
2005-11-25 Dom Lachowicz <cinamod@hotmail.com>
* modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
Includes improved menu icon spacing, [+]/[-] expander drawing,
status-bar gippie drawing, and notebook tab drawing.
2005-11-24 Michael Natterer <mitch@imendio.com>
* gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint

View File

@ -23,9 +23,10 @@
/*
* Useful resources:
*
* http://lxr.mozilla.org/mozilla/source/gfx/src/windows/nsNativeThemeWin.cpp
* http://lxr.mozilla.org/seamonkey/source/widget/src/windows/nsNativeThemeWin.cpp
* http://lxr.mozilla.org/seamonkey/source/widget/src/windows/nsLookAndFeel.cpp
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/userex/functions/drawthemebackground.asp
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pantdraw_4b3g.asp
*/
#include "msw_style.h"
@ -661,6 +662,7 @@ setup_msw_rc_style (void)
font_buf, sizeof (font_buf));
g_snprintf (buf, sizeof (buf),
"style \"msw-menu\" = \"msw-default\"\n" "{\n"
"GtkMenuItem::toggle-spacing = 8\n"
"fg[PRELIGHT] = { %d, %d, %d }\n"
"bg[PRELIGHT] = { %d, %d, %d }\n"
"text[PRELIGHT] = { %d, %d, %d }\n"
@ -1057,7 +1059,7 @@ draw_expander (GtkStyle * style,
gdk_draw_line
(window, style->fg_gc[state], x + 2, y + expander_semi_size,
x + expander_size - 2, y + expander_semi_size);
x + expander_size - 3, y + expander_semi_size);
switch (expander_style)
{
@ -1066,7 +1068,7 @@ draw_expander (GtkStyle * style,
gdk_draw_line
(window, style->fg_gc[state], x + expander_semi_size,
y + 2, x + expander_semi_size,
y + expander_size - 2);
y + expander_size - 3);
break;
default:
@ -1440,6 +1442,46 @@ is_toolbar_child (GtkWidget * wid)
return FALSE;
}
static HDC get_window_dc(GtkStyle * style, GdkWindow * window, GtkStateType state_type, gint x, gint y, gint width, gint height, RECT *rect)
{
int xoff, yoff;
GdkDrawable *drawable;
if (!GDK_IS_WINDOW (window))
{
xoff = 0;
yoff = 0;
drawable = window;
}
else
{
gdk_window_get_internal_paint_info (window, &drawable, &xoff, &yoff);
}
rect->left = x - xoff;
rect->top = y - yoff;
rect->right = rect->left + width;
rect->bottom = rect->top + height;
return gdk_win32_hdc_get (drawable, style->dark_gc[state_type], 0);
}
static void release_window_dc(GtkStyle * style, GdkWindow * window, GtkStateType state_type)
{
GdkDrawable *drawable;
if (!GDK_IS_WINDOW (window))
{
drawable = window;
}
else
{
gdk_window_get_internal_paint_info (window, &drawable, NULL, NULL);
}
gdk_win32_hdc_release (drawable, style->dark_gc[state_type], 0);
}
static void
draw_box (GtkStyle * style,
GdkWindow * window,
@ -1505,7 +1547,7 @@ draw_box (GtkStyle * style,
GtkScrollbar *scrollbar = GTK_SCROLLBAR (widget);
gboolean is_v = GTK_IS_VSCROLLBAR (widget);
if (xp_theme_draw (window,
if (xp_theme_draw (window,
is_v
? XP_THEME_ELEMENT_SCROLLBAR_V
: XP_THEME_ELEMENT_SCROLLBAR_H,
@ -1699,14 +1741,6 @@ draw_box (GtkStyle * style,
&& (strcmp (detail, "vscrollbar") == 0
|| strcmp (detail, "hscrollbar") == 0))
{
GtkScrollbar *scrollbar = GTK_SCROLLBAR (widget);
if (shadow_type == GTK_SHADOW_IN)
shadow_type = GTK_SHADOW_ETCHED_IN;
if (scrollbar->range.adjustment->page_size >=
(scrollbar->range.adjustment->upper -
scrollbar->range.adjustment->lower))
shadow_type = GTK_SHADOW_OUT;
}
else if (detail
&& (strcmp (detail, "handlebox_bin") == 0
@ -1737,32 +1771,11 @@ draw_box (GtkStyle * style,
else
{
HBRUSH brush;
gint xoff, yoff;
GdkDrawable *drawable;
RECT rect;
HDC hdc;
if (!GDK_IS_WINDOW (window))
{
xoff = 0;
yoff = 0;
drawable = window;
}
else
{
gdk_window_get_internal_paint_info
(window, &drawable, &xoff, &yoff);
}
hdc = get_window_dc(style, window, state_type, x, y, width, height, &rect);
rect.left = x - xoff;
rect.top = y - yoff;
rect.right = rect.left + width;
rect.bottom = rect.top + height;
hdc =
gdk_win32_hdc_get (window,
style->dark_gc[state_type],
0);
brush = GetSysColorBrush (COLOR_3DDKSHADOW);
if (brush)
FrameRect (hdc, &rect, brush);
@ -1770,6 +1783,8 @@ draw_box (GtkStyle * style,
FillRect (hdc, &rect,
(HBRUSH) (COLOR_INFOBK + 1));
release_window_dc (style, window, state_type);
return;
}
@ -1851,9 +1866,95 @@ draw_tab (GtkStyle * style,
x, y, indicator_size.width, arrow_height);
}
/* this is an undefined magic value that, according to the mozilla folks,
worked for all the various themes that they tried */
#define XP_EDGE_SIZE 2
/* Draw classic Windows tab - thanks Mozilla!
(no system API for this, but DrawEdge can draw all the parts of a tab) */
static void DrawTab(HDC hdc, const RECT R, gint32 aPosition, gboolean aSelected,
gboolean aDrawLeft, gboolean aDrawRight)
{
gint32 leftFlag, topFlag, rightFlag, lightFlag, shadeFlag;
RECT topRect, sideRect, bottomRect, lightRect, shadeRect;
gint32 selectedOffset, lOffset, rOffset;
selectedOffset = aSelected ? 1 : 0;
lOffset = aDrawLeft ? 2 : 0;
rOffset = aDrawRight ? 2 : 0;
/* Get info for tab orientation/position (Left, Top, Right, Bottom) */
switch (aPosition) {
case BF_LEFT:
leftFlag = BF_TOP; topFlag = BF_LEFT;
rightFlag = BF_BOTTOM;
lightFlag = BF_DIAGONAL_ENDTOPRIGHT;
shadeFlag = BF_DIAGONAL_ENDBOTTOMRIGHT;
SetRect(&topRect, R.left, R.top+lOffset, R.right, R.bottom-rOffset);
SetRect(&sideRect, R.left+2, R.top, R.right-2+selectedOffset, R.bottom);
SetRect(&bottomRect, R.right-2, R.top, R.right, R.bottom);
SetRect(&lightRect, R.left, R.top, R.left+3, R.top+3);
SetRect(&shadeRect, R.left+1, R.bottom-2, R.left+2, R.bottom-1);
break;
case BF_TOP:
leftFlag = BF_LEFT; topFlag = BF_TOP;
rightFlag = BF_RIGHT;
lightFlag = BF_DIAGONAL_ENDTOPRIGHT;
shadeFlag = BF_DIAGONAL_ENDBOTTOMRIGHT;
SetRect(&topRect, R.left+lOffset, R.top, R.right-rOffset, R.bottom);
SetRect(&sideRect, R.left, R.top+2, R.right, R.bottom-1+selectedOffset);
SetRect(&bottomRect, R.left, R.bottom-1, R.right, R.bottom);
SetRect(&lightRect, R.left, R.top, R.left+3, R.top+3);
SetRect(&shadeRect, R.right-2, R.top+1, R.right-1, R.top+2);
break;
case BF_RIGHT:
leftFlag = BF_TOP; topFlag = BF_RIGHT;
rightFlag = BF_BOTTOM;
lightFlag = BF_DIAGONAL_ENDTOPLEFT;
shadeFlag = BF_DIAGONAL_ENDBOTTOMLEFT;
SetRect(&topRect, R.left, R.top+lOffset, R.right, R.bottom-rOffset);
SetRect(&sideRect, R.left+2-selectedOffset, R.top, R.right-2, R.bottom);
SetRect(&bottomRect, R.left, R.top, R.left+2, R.bottom);
SetRect(&lightRect, R.right-3, R.top, R.right-1, R.top+2);
SetRect(&shadeRect, R.right-2, R.bottom-3, R.right, R.bottom-1);
break;
case BF_BOTTOM:
leftFlag = BF_LEFT; topFlag = BF_BOTTOM;
rightFlag = BF_RIGHT;
lightFlag = BF_DIAGONAL_ENDTOPLEFT;
shadeFlag = BF_DIAGONAL_ENDBOTTOMLEFT;
SetRect(&topRect, R.left+lOffset, R.top, R.right-rOffset, R.bottom);
SetRect(&sideRect, R.left, R.top+2-selectedOffset, R.right, R.bottom-2);
SetRect(&bottomRect, R.left, R.top, R.right, R.top+2);
SetRect(&lightRect, R.left, R.bottom-3, R.left+2, R.bottom-1);
SetRect(&shadeRect, R.right-2, R.bottom-3, R.right, R.bottom-1);
break;
}
/* Background */
FillRect(hdc, &R, (HBRUSH) (COLOR_3DFACE+1) );
/* Tab "Top" */
DrawEdge(hdc, &topRect, EDGE_RAISED, BF_SOFT | topFlag);
/* Tab "Bottom" */
if (!aSelected)
DrawEdge(hdc, &bottomRect, EDGE_RAISED, BF_SOFT | topFlag);
/* Tab "Sides" */
if (!aDrawLeft)
leftFlag = 0;
if (!aDrawRight)
rightFlag = 0;
DrawEdge(hdc, &sideRect, EDGE_RAISED, BF_SOFT | leftFlag | rightFlag);
/* Tab Diagonal Corners */
if (aDrawLeft)
DrawEdge(hdc, &lightRect, EDGE_RAISED, BF_SOFT | lightFlag);
if (aDrawRight)
DrawEdge(hdc, &shadeRect, EDGE_RAISED, BF_SOFT | shadeFlag);
}
static void
draw_extension (GtkStyle * style,
@ -1866,43 +1967,47 @@ draw_extension (GtkStyle * style,
gint x,
gint y, gint width, gint height, GtkPositionType gap_side)
{
if (GTK_IS_NOTEBOOK (widget) && detail && !strcmp (detail, "tab"))
if (widget && GTK_IS_NOTEBOOK (widget) && detail && !strcmp (detail, "tab"))
{
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
gint x2, y2, w2, h2;
int tab_part = XP_THEME_ELEMENT_TAB_ITEM;
int real_gap_side = gtk_notebook_get_tab_pos (notebook);
/* why this differs from the above gap_side, i have no idea... */
x2 = x;
y2 = y;
w2 = width;
h2 = height;
if (gap_side == GTK_POS_TOP && state_type == GTK_STATE_NORMAL)
{
/* h2 += XP_EDGE_SIZE; */
}
else if (gap_side == GTK_POS_BOTTOM
&& state_type == GTK_STATE_NORMAL)
{
/* h2 += XP_EDGE_SIZE; */
}
else if (gap_side == GTK_POS_LEFT
&& state_type == GTK_STATE_NORMAL)
{
x2 += 1;
w2 -= XP_EDGE_SIZE;
}
else if (gap_side == GTK_POS_RIGHT
&& state_type == GTK_STATE_NORMAL)
{
w2 -= (XP_EDGE_SIZE + 1);
}
if (xp_theme_draw
(window, gtk_notebook_get_current_page (notebook) == 0
? XP_THEME_ELEMENT_TAB_ITEM_LEFT_EDGE
: XP_THEME_ELEMENT_TAB_ITEM,
style, x2, y2, w2, h2, state_type, area))
if (xp_theme_draw (window, tab_part,
style, x2, y2, w2, h2, (real_gap_side == GTK_POS_TOP ? state_type : GTK_STATE_SELECTED), area))
{
return;
return;
} else if (real_gap_side == GTK_POS_TOP || real_gap_side == GTK_POS_BOTTOM) {
/* experimental tab-drawing code from mozilla */
RECT rect;
HDC dc;
gint32 aPosition;
dc = get_window_dc(style, window, state_type, x, y, width, height, &rect);
if (real_gap_side == GTK_POS_TOP)
aPosition = BF_TOP;
else if (real_gap_side == GTK_POS_BOTTOM)
aPosition = BF_BOTTOM;
else if (real_gap_side == GTK_POS_LEFT)
aPosition = BF_LEFT;
else
aPosition = BF_RIGHT;
if (area)
gdk_gc_set_clip_rectangle (style->dark_gc[state_type], area);
DrawTab (dc, rect, aPosition, state_type != GTK_STATE_PRELIGHT, (real_gap_side != GTK_POS_LEFT), (real_gap_side != GTK_POS_RIGHT));
if (area)
gdk_gc_set_clip_rectangle (style->dark_gc[state_type], NULL);
release_window_dc (style, window, state_type);
}
}
parent_class->draw_extension
@ -1919,9 +2024,7 @@ draw_box_gap (GtkStyle * style, GdkWindow * window, GtkStateType state_type,
{
if (GTK_IS_NOTEBOOK (widget) && detail && !strcmp (detail, "notebook"))
{
/* FIXME: pos != TOP to be implemented */
if (gap_side == GTK_POS_TOP
&& xp_theme_draw (window, XP_THEME_ELEMENT_TAB_PANE, style, x,
if (xp_theme_draw (window, XP_THEME_ELEMENT_TAB_PANE, style, x,
y, width, height, state_type, area))
{
return;
@ -2203,7 +2306,19 @@ draw_resize_grip (GtkStyle * style,
if (xp_theme_draw
(window, XP_THEME_ELEMENT_STATUS_GRIPPER, style, x, y, width,
height, state_type, area))
return;
return;
else {
RECT rect;
HDC dc = get_window_dc(style, window, state_type, x, y, width, height, &rect);
if (area)
gdk_gc_set_clip_rectangle (style->dark_gc[state_type], area);
DrawFrameControl(dc, &rect, DFC_SCROLL, DFCS_SCROLLSIZEGRIP);
release_window_dc(style, window, state_type);
if (area)
gdk_gc_set_clip_rectangle (style->dark_gc[state_type], NULL);
return;
}
}
parent_class->draw_resize_grip (style, window, state_type, area,

View File

@ -34,12 +34,7 @@
/* #include "gdk/gdkwin32.h" */
#include "gdk/win32/gdkwin32.h"
#ifdef HAVE_UXTHEME_H
#include <uxtheme.h>
#include <tmschema.h>
#else
#include "xp_theme_defs.h"
#endif
#ifndef TMT_CAPTIONFONT
@ -86,7 +81,7 @@ static const LPCWSTR class_descriptors[] = {
L"Button", /* XP_THEME_CLASS_BUTTON */
L"Header", /* XP_THEME_CLASS_HEADER */
L"ComboBox", /* XP_THEME_CLASS_COMBOBOX */
L"Tab", /* XP_THEME_CLASS_TAB */
L"Tab", /* XP_THEME_CLASS_TAB */
L"Edit", /* XP_THEME_CLASS_EDIT */
L"TreeView", /* XP_THEME_CLASS_TREEVIEW */
L"Spin", /* XP_THEME_CLASS_SPIN */
@ -110,6 +105,7 @@ static const short element_part_map[] = {
TABP_BODY,
TABP_TABITEM,
TABP_TABITEMLEFTEDGE,
TABP_TABITEMRIGHTEDGE,
TABP_PANE,
SBP_THUMBBTNHORZ,
SBP_THUMBBTNVERT,
@ -365,6 +361,7 @@ xp_theme_get_handle_by_element (XpThemeElement element)
case XP_THEME_ELEMENT_BODY:
case XP_THEME_ELEMENT_TAB_ITEM:
case XP_THEME_ELEMENT_TAB_ITEM_LEFT_EDGE:
case XP_THEME_ELEMENT_TAB_ITEM_RIGHT_EDGE:
case XP_THEME_ELEMENT_TAB_PANE:
klazz = XP_THEME_CLASS_TAB;
break;
@ -486,6 +483,7 @@ xp_theme_map_gtk_state (XpThemeElement element, GtkStateType state)
break;
case XP_THEME_ELEMENT_TAB_ITEM_LEFT_EDGE:
case XP_THEME_ELEMENT_TAB_ITEM_RIGHT_EDGE:
case XP_THEME_ELEMENT_TAB_ITEM:
switch (state)
{

View File

@ -57,6 +57,7 @@ typedef enum
XP_THEME_ELEMENT_BODY,
XP_THEME_ELEMENT_TAB_ITEM,
XP_THEME_ELEMENT_TAB_ITEM_LEFT_EDGE,
XP_THEME_ELEMENT_TAB_ITEM_RIGHT_EDGE,
XP_THEME_ELEMENT_TAB_PANE,
XP_THEME_ELEMENT_SCROLLBAR_H,
XP_THEME_ELEMENT_SCROLLBAR_V,

View File

@ -33,127 +33,226 @@ typedef HANDLE HTHEME;
#define ETDT_USETABTEXTURE 0x00000004
#define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE)
#define BP_PUSHBUTTON 1
#define BP_CHECKBOX 3
#define HP_HEADERITEM 1
#define CP_DROPDOWNBUTTON 1
#define TABP_TABITEM 1
#define TABP_TABITEMLEFTEDGE 2
#define TABP_PANE 9
#define TABP_BODY 10
#define SBP_ARROWBTN 1
#define SBP_THUMBBTNHORZ 2
#define SBP_THUMBBTNVERT 3
#define SBP_LOWERTRACKHORZ 4
#define SBP_UPPERTRACKHORZ 5
#define SBP_LOWERTRACKVERT 6
#define SBP_UPPERTRACKVERT 7
#define SBP_GRIPPERHORZ 8
#define SBP_GRIPPERVERT 9
#define EP_EDITTEXT 1
#define SPNP_UP 1
#define SPNP_DOWN 2
#define BP_RADIOBUTTON 2
#define TVP_GLYPH 2
#define PP_BAR 1
#define PP_BARVERT 2
#define PP_CHUNK 3
#define PP_CHUNKVERT 4
#define TTP_STANDARD 1
#define RP_GRIPPER 1
#define RP_GRIPPERVERT 2
#define RP_BAND 3
#define RP_CHEVRON 4
#define TP_BUTTON 1
#define TS_NORMAL 1
#define TS_HOT 2
#define TS_PRESSED 3
#define TS_DISABLED 4
#define TTSS_NORMAL 1
#define CHEVS_NORMAL 1
#define CHEVS_HOT 2
#define CHEVS_PRESSED 3
#define TIS_NORMAL 1
#define TIS_HOT 2
#define TIS_SELECTED 3
#define TIS_DISABLED 4
#define ETS_NORMAL 1
#define ETS_FOCUSED 5
#define ETS_READONLY 6
#define SCRBS_NORMAL 1
#define SCRBS_HOT 2
#define SCRBS_PRESSED 3
#define SCRBS_DISABLED 4
#define ABS_UPNORMAL 1
#define ABS_UPHOT 2
#define ABS_UPPRESSED 3
#define ABS_UPDISABLED 4
#define ABS_DOWNNORMAL 5
#define ABS_DOWNHOT 6
#define ABS_DOWNPRESSED 7
#define ABS_DOWNDISABLED 8
#define ABS_LEFTNORMAL 9
#define ABS_LEFTHOT 10
#define ABS_LEFTPRESSED 11
#define ABS_LEFTDISABLED 12
#define ABS_RIGHTNORMAL 13
#define ABS_RIGHTHOT 14
#define ABS_RIGHTPRESSED 15
#define ABS_RIGHTDISABLED 16
#define CBS_UNCHECKEDNORMAL 1
#define CBS_UNCHECKEDHOT 2
#define CBS_UNCHECKEDPRESSED 3
#define CBS_UNCHECKEDDISABLED 4
#define CBS_CHECKEDNORMAL 5
#define CBS_CHECKEDHOT 6
#define CBS_CHECKEDPRESSED 7
#define CBS_CHECKEDDISABLED 8
#define PBS_NORMAL 1
#define PBS_HOT 2
#define PBS_PRESSED 3
#define PBS_DISABLED 4
#define PBS_DEFAULTED 5
#define DNS_NORMAL 1
#define DNS_HOT 2
#define DNS_PRESSED 3
#define DNS_DISABLED 4
#define UPS_NORMAL 1
#define UPS_HOT 2
#define UPS_PRESSED 3
#define UPS_DISABLED 4
#define GLPS_CLOSED 1
#define GLPS_OPENED 2
#define MP_MENUITEM 1
#define MP_SEPARATOR 6
#define MS_NORMAL 1
#define MS_SELECTED 2
#define MS_DEMOTED 3
#define SP_PANE 2
#define SP_GRIPPER 3
enum {
BP_PUSHBUTTON = 1, BP_RADIOBUTTON = 2, BP_CHECKBOX = 3, BP_GROUPBOX = 4,
BP_USERBUTTON = 5
};
enum {
CBS_UNCHECKEDNORMAL = 1, CBS_UNCHECKEDHOT = 2, CBS_UNCHECKEDPRESSED = 3, CBS_UNCHECKEDDISABLED = 4,
CBS_CHECKEDNORMAL = 5, CBS_CHECKEDHOT = 6, CBS_CHECKEDPRESSED = 7, CBS_CHECKEDDISABLED = 8,
CBS_MIXEDNORMAL = 9, CBS_MIXEDHOT = 10, CBS_MIXEDPRESSED = 11, CBS_MIXEDDISABLED = 12
};
enum { GBS_NORMAL = 1, GBS_DISABLED = 2 };;
enum {
PBS_NORMAL = 1, PBS_HOT = 2, PBS_PRESSED = 3, PBS_DISABLED = 4,
PBS_DEFAULTED = 5
};
enum {
RBS_UNCHECKEDNORMAL = 1, RBS_UNCHECKEDHOT = 2, RBS_UNCHECKEDPRESSED = 3, RBS_UNCHECKEDDISABLED = 4,
RBS_CHECKEDNORMAL = 5, RBS_CHECKEDHOT = 6, RBS_CHECKEDPRESSED = 7, RBS_CHECKEDDISABLED = 8
};
enum { CLP_TIME = 1 };
enum { CLS_NORMAL = 1 };
enum { CP_DROPDOWNBUTTON = 1 };
enum { CBXS_NORMAL = 1, CBXS_HOT = 2, CBXS_PRESSED = 3, CBXS_DISABLED = 4 };
enum { EP_EDITTEXT = 1, EP_CARET = 2 };
enum {
ETS_NORMAL = 1, ETS_HOT = 2, ETS_SELECTED = 3, ETS_DISABLED = 4,
ETS_FOCUSED = 5, ETS_READONLY = 6, ETS_ASSIST = 7
};
enum {
EBP_HEADERBACKGROUND = 1, EBP_HEADERCLOSE = 2, EBP_HEADERPIN = 3, EBP_IEBARMENU = 4,
EBP_NORMALGROUPBACKGROUND = 5, EBP_NORMALGROUPCOLLAPSE = 6, EBP_NORMALGROUPEXPAND = 7, EBP_NORMALGROUPHEAD = 8,
EBP_SPECIALGROUPBACKGROUND = 9, EBP_SPECIALGROUPCOLLAPSE = 10, EBP_SPECIALGROUPEXPAND = 11, EBP_SPECIALGROUPHEAD = 12
};
enum { EBHC_NORMAL = 1, EBHC_HOT = 2, EBHC_PRESSED = 3 };
enum {
EBHP_NORMAL = 1, EBHP_HOT = 2, EBHP_PRESSED = 3, EBHP_SELECTEDNORMAL = 4,
EBHP_SELECTEDHOT = 5, EBHP_SELECTEDPRESSED = 6
};
enum { EBM_NORMAL = 1, EBM_HOT = 2, EBM_PRESSED = 3 };
enum { EBNGC_NORMAL = 1, EBNGC_HOT = 2, EBNGC_PRESSED = 3 };
enum { EBNGE_NORMAL = 1, EBNGE_HOT = 2, EBNGE_PRESSED = 3 };
enum { EBSGC_NORMAL = 1, EBSGC_HOT = 2, EBSGC_PRESSED = 3 };
enum { EBSGE_NORMAL = 1, EBSGE_HOT = 2, EBSGE_PRESSED = 3 };
enum { HP_HEADERITEM = 1, HP_HEADERITEMLEFT = 2, HP_HEADERITEMRIGHT = 3, HP_HEADERSORTARROW = 4 };
enum { HIS_NORMAL = 1, HIS_HOT = 2, HIS_PRESSED = 3 };
enum { HILS_NORMAL = 1, HILS_HOT = 2, HILS_PRESSED = 3 };
enum { HIRS_NORMAL = 1, HIRS_HOT = 2, HIRS_PRESSED = 3 };
enum { HSAS_SORTEDUP = 1, HSAS_SORTEDDOWN = 2 };
enum {
LVP_LISTITEM = 1, LVP_LISTGROUP = 2, LVP_LISTDETAIL = 3, LVP_LISTSORTEDDETAIL = 4,
LVP_EMPTYTEXT = 5
};
enum {
LIS_NORMAL = 1, LIS_HOT = 2, LIS_SELECTED = 3, LIS_DISABLED = 4,
LIS_SELECTEDNOTFOCUS = 5
};
enum {
MP_MENUITEM = 1, MP_MENUDROPDOWN = 2, MP_MENUBARITEM = 3, MP_MENUBARDROPDOWN = 4,
MP_CHEVRON = 5, MP_SEPARATOR = 6
};
enum { MS_NORMAL = 1, MS_SELECTED = 2, MS_DEMOTED = 3 };
enum { MDP_NEWAPPBUTTON = 1, MDP_SEPERATOR = 2 };
enum {
MDS_NORMAL = 1, MDS_HOT = 2, MDS_PRESSED = 3, MDS_DISABLED = 4,
MDS_CHECKED = 5, MDS_HOTCHECKED = 6
};
enum { PGRP_UP = 1, PGRP_DOWN = 2, PGRP_UPHORZ = 3, PGRP_DOWNHORZ = 4 };
enum { DNS_NORMAL = 1, DNS_HOT = 2, DNS_PRESSED = 3, DNS_DISABLED = 4 };
enum { DNHZS_NORMAL = 1, DNHZS_HOT = 2, DNHZS_PRESSED = 3, DNHZS_DISABLED = 4 };
enum { UPS_NORMAL = 1, UPS_HOT = 2, UPS_PRESSED = 3, UPS_DISABLED = 4 };
enum { UPHZS_NORMAL = 1, UPHZS_HOT = 2, UPHZS_PRESSED = 3, UPHZS_DISABLED = 4 };
enum { PP_BAR = 1, PP_BARVERT = 2, PP_CHUNK = 3, PP_CHUNKVERT = 4 };
enum {
RP_GRIPPER = 1, RP_GRIPPERVERT = 2, RP_BAND = 3, RP_CHEVRON = 4,
RP_CHEVRONVERT = 5
};
enum { CHEVS_NORMAL = 1, CHEVS_HOT = 2, CHEVS_PRESSED = 3 };
enum {
SBP_ARROWBTN = 1, SBP_THUMBBTNHORZ = 2, SBP_THUMBBTNVERT = 3, SBP_LOWERTRACKHORZ = 4,
SBP_UPPERTRACKHORZ = 5, SBP_LOWERTRACKVERT = 6, SBP_UPPERTRACKVERT = 7, SBP_GRIPPERHORZ = 8,
SBP_GRIPPERVERT = 9, SBP_SIZEBOX = 10
};
enum {
ABS_UPNORMAL = 1, ABS_UPHOT = 2, ABS_UPPRESSED = 3, ABS_UPDISABLED = 4,
ABS_DOWNNORMAL = 5, ABS_DOWNHOT = 6, ABS_DOWNPRESSED = 7, ABS_DOWNDISABLED = 8,
ABS_LEFTNORMAL = 9, ABS_LEFTHOT = 10, ABS_LEFTPRESSED = 11, ABS_LEFTDISABLED = 12,
ABS_RIGHTNORMAL = 13, ABS_RIGHTHOT = 14, ABS_RIGHTPRESSED = 15, ABS_RIGHTDISABLED = 16
};
enum { SCRBS_NORMAL = 1, SCRBS_HOT = 2, SCRBS_PRESSED = 3, SCRBS_DISABLED = 4 };
enum { SZB_RIGHTALIGN = 1, SZB_LEFTALIGN = 2 };
enum { SPNP_UP = 1, SPNP_DOWN = 2, SPNP_UPHORZ = 3, SPNP_DOWNHORZ = 4 };
enum {
SPP_USERPANE = 1, SPP_MOREPROGRAMS = 2, SPP_MOREPROGRAMSARROW = 3, SPP_PROGLIST = 4,
SPP_PROGLISTSEPARATOR = 5, SPP_PLACESLIST = 6, SPP_PLACESLISTSEPARATOR = 7, SPP_LOGOFF = 8,
SPP_LOGOFFBUTTONS = 9, SPP_USERPICTURE = 10, SPP_PREVIEW = 11
};
enum { SPLS_NORMAL = 1, SPLS_HOT = 2, SPLS_PRESSED = 3 };
enum { SPS_NORMAL = 1, SPS_HOT = 2, SPS_PRESSED = 3 };
enum { SP_PANE = 1, SP_GRIPPERPANE = 2, SP_GRIPPER = 3 };
enum {
TABP_TABITEM = 1, TABP_TABITEMLEFTEDGE = 2, TABP_TABITEMRIGHTEDGE = 3, TABP_TABITEMBOTHEDGE = 4,
TABP_TOPTABITEM = 5, TABP_TOPTABITEMLEFTEDGE = 6, TABP_TOPTABITEMRIGHTEDGE = 7, TABP_TOPTABITEMBOTHEDGE = 8,
TABP_PANE = 9, TABP_BODY = 10
};
enum {
TIS_NORMAL = 1, TIS_HOT = 2, TIS_SELECTED = 3, TIS_DISABLED = 4,
TIS_FOCUSED = 5
};
enum {
TIBES_NORMAL = 1, TIBES_HOT = 2, TIBES_SELECTED = 3, TIBES_DISABLED = 4,
TIBES_FOCUSED = 5
};
enum {
TILES_NORMAL = 1, TILES_HOT = 2, TILES_SELECTED = 3, TILES_DISABLED = 4,
TILES_FOCUSED = 5
};
enum {
TIRES_NORMAL = 1, TIRES_HOT = 2, TIRES_SELECTED = 3, TIRES_DISABLED = 4,
TIRES_FOCUSED = 5
};
enum {
TTIS_NORMAL = 1, TTIS_HOT = 2, TTIS_SELECTED = 3, TTIS_DISABLED = 4,
TTIS_FOCUSED = 5
};
enum {
TTIBES_NORMAL = 1, TTIBES_HOT = 2, TTIBES_SELECTED = 3, TTIBES_DISABLED = 4,
TTIBES_FOCUSED = 5
};
enum {
TTILES_NORMAL = 1, TTILES_HOT = 2, TTILES_SELECTED = 3, TTILES_DISABLED = 4,
TTILES_FOCUSED = 5
};
enum {
TTIRES_NORMAL = 1, TTIRES_HOT = 2, TTIRES_SELECTED = 3, TTIRES_DISABLED = 4,
TTIRES_FOCUSED = 5
};
enum { TDP_GROUPCOUNT = 1, TDP_FLASHBUTTON = 2, TDP_FLASHBUTTONGROUPMENU = 3 };
enum {
TBP_BACKGROUNDBOTTOM = 1, TBP_BACKGROUNDRIGHT = 2, TBP_BACKGROUNDTOP = 3, TBP_BACKGROUNDLEFT = 4,
TBP_SIZINGBARBOTTOM = 5, TBP_SIZINGBARRIGHT = 6, TBP_SIZINGBARTOP = 7, TBP_SIZINGBARLEFT = 8
};
enum {
TP_BUTTON = 1, TP_DROPDOWNBUTTON = 2, TP_SPLITBUTTON = 3, TP_SPLITBUTTONDROPDOWN = 4,
TP_SEPARATOR = 5, TP_SEPARATORVERT = 6
};
enum {
TS_NORMAL = 1, TS_HOT = 2, TS_PRESSED = 3, TS_DISABLED = 4,
TS_CHECKED = 5, TS_HOTCHECKED = 6
};
enum {
TTP_STANDARD = 1, TTP_STANDARDTITLE = 2, TTP_BALLOON = 3, TTP_BALLOONTITLE = 4,
TTP_CLOSE = 5
};
enum { TTBS_NORMAL = 1, TTBS_LINK = 2 };
enum { TTCS_NORMAL = 1, TTCS_HOT = 2, TTCS_PRESSED = 3 };
enum { TTSS_NORMAL = 1, TTSS_LINK = 2 };
enum {
TKP_TRACK = 1, TKP_TRACKVERT = 2, TKP_THUMB = 3, TKP_THUMBBOTTOM = 4,
TKP_THUMBTOP = 5, TKP_THUMBVERT = 6, TKP_THUMBLEFT = 7, TKP_THUMBRIGHT = 8,
TKP_TICS = 9, TKP_TICSVERT = 10
};
enum {
TUS_NORMAL = 1, TUS_HOT = 2, TUS_PRESSED = 3, TUS_FOCUSED = 4,
TUS_DISABLED = 5
};
enum {
TUBS_NORMAL = 1, TUBS_HOT = 2, TUBS_PRESSED = 3, TUBS_FOCUSED = 4,
TUBS_DISABLED = 5
};
enum {
TUVLS_NORMAL = 1, TUVLS_HOT = 2, TUVLS_PRESSED = 3, TUVLS_FOCUSED = 4,
TUVLS_DISABLED = 5
};
enum {
TUVRS_NORMAL = 1, TUVRS_HOT = 2, TUVRS_PRESSED = 3, TUVRS_FOCUSED = 4,
TUVRS_DISABLED = 5
};
enum {
TUTS_NORMAL = 1, TUTS_HOT = 2, TUTS_PRESSED = 3, TUTS_FOCUSED = 4,
TUTS_DISABLED = 5
};
enum {
TUVS_NORMAL = 1, TUVS_HOT = 2, TUVS_PRESSED = 3, TUVS_FOCUSED = 4,
TUVS_DISABLED = 5
};
enum { TSS_NORMAL = 1 };
enum { TSVS_NORMAL = 1 };
enum { TRS_NORMAL = 1 };
enum { TRVS_NORMAL = 1 };
enum { TNP_BACKGROUND = 1, TNP_ANIMBACKGROUND = 2 };
enum { TVP_TREEITEM = 1, TVP_GLYPH = 2, TVP_BRANCH = 3 };
enum { GLPS_CLOSED = 1, GLPS_OPENED = 2 };
enum {
TREIS_NORMAL = 1, TREIS_HOT = 2, TREIS_SELECTED = 3, TREIS_DISABLED = 4,
TREIS_SELECTEDNOTFOCUS = 5
};
enum {
WP_CAPTION = 1, WP_SMALLCAPTION = 2, WP_MINCAPTION = 3, WP_SMALLMINCAPTION = 4,
WP_MAXCAPTION = 5, WP_SMALLMAXCAPTION = 6, WP_FRAMELEFT = 7, WP_FRAMERIGHT = 8,
WP_FRAMEBOTTOM = 9, WP_SMALLFRAMELEFT = 10, WP_SMALLFRAMERIGHT = 11, WP_SMALLFRAMEBOTTOM = 12,
WP_SYSBUTTON = 13, WP_MDISYSBUTTON = 14, WP_MINBUTTON = 15, WP_MDIMINBUTTON = 16,
WP_MAXBUTTON = 17, WP_CLOSEBUTTON = 18, WP_SMALLCLOSEBUTTON = 19, WP_MDICLOSEBUTTON = 20,
WP_RESTOREBUTTON = 21, WP_MDIRESTOREBUTTON = 22, WP_HELPBUTTON = 23, WP_MDIHELPBUTTON = 24,
WP_HORZSCROLL = 25, WP_HORZTHUMB = 26, WP_VERTSCROLL = 27, WP_VERTTHUMB = 28,
WP_DIALOG = 29, WP_CAPTIONSIZINGTEMPLATE = 30, WP_SMALLCAPTIONSIZINGTEMPLATE = 31, WP_FRAMELEFTSIZINGTEMPLATE = 32,
WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33, WP_FRAMERIGHTSIZINGTEMPLATE = 34, WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35, WP_FRAMEBOTTOMSIZINGTEMPLATE = 36,
WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37
};
enum { CS_ACTIVE = 1, CS_INACTIVE = 2, CS_DISABLED = 3 };
enum { CBS_NORMAL = 1, CBS_HOT = 2, CBS_PUSHED = 3, CBS_DISABLED = 4 };
enum { FS_ACTIVE = 1, FS_INACTIVE = 2 };
enum { HBS_NORMAL = 1, HBS_HOT = 2, HBS_PUSHED = 3, HBS_DISABLED = 4 };
enum { HSS_NORMAL = 1, HSS_HOT = 2, HSS_PUSHED = 3, HSS_DISABLED = 4 };
enum { HTS_NORMAL = 1, HTS_HOT = 2, HTS_PUSHED = 3, HTS_DISABLED = 4 };
enum { MAXBS_NORMAL = 1, MAXBS_HOT = 2, MAXBS_PUSHED = 3, MAXBS_DISABLED = 4 };
enum { MXCS_ACTIVE = 1, MXCS_INACTIVE = 2, MXCS_DISABLED = 3 };
enum { MINBS_NORMAL = 1, MINBS_HOT = 2, MINBS_PUSHED = 3, MINBS_DISABLED = 4 };
enum { RBS_NORMAL = 1, RBS_HOT = 2, RBS_PUSHED = 3, RBS_DISABLED = 4 };
enum { SBS_NORMAL = 1, SBS_HOT = 2, SBS_PUSHED = 3, SBS_DISABLED = 4 };
enum { MNCS_ACTIVE = 1, MNCS_INACTIVE = 2, MNCS_DISABLED = 3 };
enum { VSS_NORMAL = 1, VSS_HOT = 2, VSS_PUSHED = 3, VSS_DISABLED = 4 };
enum { VTS_NORMAL = 1, VTS_HOT = 2, VTS_PUSHED = 3, VTS_DISABLED = 4 };
#endif /* XP_THEME_DFNS_H */