win32: Theme statusbars

This commit is contained in:
Alexander Larsson 2012-03-16 16:44:24 +01:00
parent 30fb1e0256
commit cb1a825cc3
2 changed files with 22 additions and 2 deletions

View File

@ -825,9 +825,26 @@ GtkColorSwatch:prelight {
.pane-separator {
background-image: -gtk-win32-theme-part(rebar, 1 1);
/* Use this when background-position is supported
background-size: 20px 20px;
background-repeat: no-repeat;
background-position: center;
*/
}
}
GtkStatusbar > GtkFrame {
border-width: 1px 1px 1px 1px;
border-style: solid;
border-image: -gtk-win32-theme-part(status, 0 0, margins (-1 0 0 0)) 2 1 1 1 stretch;
background-image: none;
}
/*
This doesn't quite look right with no background (i.e. when not on a statusbar
.grip {
background-color: transparent;
background-image: -gtk-win32-theme-part(status, 3 1);
}
*/

View File

@ -36,6 +36,7 @@ static HTHEME needs_alpha_fixup2 = NULL;
static HTHEME needs_alpha_fixup3 = NULL;
static HTHEME needs_alpha_fixup4 = NULL;
static HTHEME needs_alpha_fixup5 = NULL;
static HTHEME needs_alpha_fixup6 = NULL;
typedef HRESULT (FAR PASCAL *GetThemeSysFontFunc) (HTHEME hTheme, int iFontID, OUT LOGFONTW *plf);
typedef int (FAR PASCAL *GetThemeSysSizeFunc) (HTHEME hTheme, int iSizeId);
@ -148,6 +149,7 @@ _gtk_win32_theme_init (void)
needs_alpha_fixup3 = _gtk_win32_lookup_htheme_by_classname ("button");
needs_alpha_fixup4 = _gtk_win32_lookup_htheme_by_classname ("header");
needs_alpha_fixup5 = _gtk_win32_lookup_htheme_by_classname ("trackbar");
needs_alpha_fixup6 = _gtk_win32_lookup_htheme_by_classname ("status");
}
}
@ -262,7 +264,8 @@ _gtk_win32_theme_part_create_surface (HTHEME theme,
theme == needs_alpha_fixup2 ||
(theme == needs_alpha_fixup3 && xp_part == 4) ||
theme == needs_alpha_fixup4 ||
theme == needs_alpha_fixup5))
theme == needs_alpha_fixup5 ||
theme == needs_alpha_fixup6))
{
cairo_surface_t *img = cairo_win32_surface_get_image (surface);
guint32 *data = (guint32 *)cairo_image_surface_get_data (img);