diff options
Diffstat (limited to 'src/ui/theme.h')
-rw-r--r-- | src/ui/theme.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/ui/theme.h b/src/ui/theme.h index ffec77c5..3966d928 100644 --- a/src/ui/theme.h +++ b/src/ui/theme.h @@ -27,6 +27,11 @@ #include "common.h" #include <gtk/gtk.h> +/** + * MetaStyleInfo: (skip) + * + */ +typedef struct _MetaStyleInfo MetaStyleInfo; typedef struct _MetaFrameStyle MetaFrameStyle; typedef struct _MetaFrameStyleSet MetaFrameStyleSet; typedef struct _MetaDrawOp MetaDrawOp; @@ -634,6 +639,19 @@ typedef enum typedef enum { + META_STYLE_ELEMENT_FRAME, + META_STYLE_ELEMENT_LAST +} MetaStyleElement; + +struct _MetaStyleInfo +{ + int refcount; + + GtkStyleContext *styles[META_STYLE_ELEMENT_LAST]; +}; + +typedef enum +{ /* Listed in the order in which the textures are drawn. * (though this only matters for overlaps of course.) * Buttons are drawn after the frame textures. @@ -977,11 +995,13 @@ double meta_theme_get_title_scale (MetaTheme *theme, MetaFrameType type, MetaFrameFlags flags); -GtkStyleContext* meta_theme_create_style_context (GdkScreen *screen, - const gchar *variant); +MetaStyleInfo* meta_theme_create_style_info (GdkScreen *screen, + const gchar *variant); +MetaStyleInfo* meta_style_info_ref (MetaStyleInfo *style); +void meta_style_info_unref (MetaStyleInfo *style_info); void meta_theme_draw_frame (MetaTheme *theme, - GtkStyleContext *style_gtk, + MetaStyleInfo *style_info, cairo_t *cr, MetaFrameType type, MetaFrameFlags flags, |