modules/engines/ms-windows/xp_theme.[ch] Add support for drawing

2007-06-26  Cody Russell  <bratsche@gnome.org>

        * modules/engines/ms-windows/xp_theme.[ch]
        * modules/engines/ms-windows/msw_style.c: Add support for
        drawing checkboxes with inconsistent states. (Tor, #164809)


svn path=/trunk/; revision=18246
This commit is contained in:
Cody Russell
2007-06-26 19:50:24 +00:00
committed by Cody Russell
parent 927c852aa9
commit 0aa5be0dec
4 changed files with 183 additions and 133 deletions

View File

@ -97,6 +97,7 @@ static const LPCWSTR class_descriptors[] = {
};
static const short element_part_map[XP_THEME_ELEMENT__SIZEOF] = {
BP_CHECKBOX,
BP_CHECKBOX,
BP_CHECKBOX,
BP_PUSHBUTTON,
@ -358,6 +359,7 @@ xp_theme_get_handle_by_element (XpThemeElement element)
break;
case XP_THEME_ELEMENT_PRESSED_CHECKBOX:
case XP_THEME_ELEMENT_INCONSISTENT_CHECKBOX:
case XP_THEME_ELEMENT_CHECKBOX:
case XP_THEME_ELEMENT_BUTTON:
case XP_THEME_ELEMENT_DEFAULT_BUTTON:
@ -644,6 +646,23 @@ xp_theme_map_gtk_state (XpThemeElement element, GtkStateType state)
}
break;
case XP_THEME_ELEMENT_INCONSISTENT_CHECKBOX:
switch (state)
{
case GTK_STATE_SELECTED:
ret = CBS_MIXEDPRESSED;
break;
case GTK_STATE_PRELIGHT:
ret = CBS_MIXEDHOT;
break;
case GTK_STATE_INSENSITIVE:
ret = CBS_MIXEDDISABLED;
break;
default:
ret = CBS_MIXEDNORMAL;
}
break;
case XP_THEME_ELEMENT_PRESSED_CHECKBOX:
case XP_THEME_ELEMENT_PRESSED_RADIO_BUTTON:
switch (state)