summaryrefslogtreecommitdiff
path: root/src/ui/theme.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/theme.h')
-rw-r--r--src/ui/theme.h26
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,