summaryrefslogtreecommitdiff
path: root/libmetacity
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-01-29 14:15:02 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-01-31 03:08:58 +0200
commit20d710475fadd2312429f93f49f4cf6eede2be15 (patch)
treea7ea193b6dfef7dcbea9182ca44321cdf9a96145 /libmetacity
parent01fc4a4c55aa95d41db5797a329d63daf9974168 (diff)
downloadmetacity-20d710475fadd2312429f93f49f4cf6eede2be15.tar.gz
theme: move draw_op_lists to MetaThemeMetacity
Diffstat (limited to 'libmetacity')
-rw-r--r--libmetacity/meta-theme-metacity.c23
-rw-r--r--libmetacity/meta-theme-metacity.h51
2 files changed, 53 insertions, 21 deletions
diff --git a/libmetacity/meta-theme-metacity.c b/libmetacity/meta-theme-metacity.c
index 87140351..c6eebb62 100644
--- a/libmetacity/meta-theme-metacity.c
+++ b/libmetacity/meta-theme-metacity.c
@@ -20,6 +20,7 @@
#include <glib/gi18n-lib.h>
+#include "meta-draw-op.h"
#include "meta-theme.h"
#include "meta-theme-metacity.h"
@@ -30,6 +31,8 @@ struct _MetaThemeMetacity
GHashTable *integers;
GHashTable *floats;
GHashTable *colors;
+
+ GHashTable *draw_op_lists;
};
G_DEFINE_TYPE (MetaThemeMetacity, meta_theme_metacity, META_TYPE_THEME_IMPL)
@@ -51,6 +54,8 @@ meta_theme_metacity_dispose (GObject *object)
g_clear_pointer (&metacity->floats, g_hash_table_destroy);
g_clear_pointer (&metacity->colors, g_hash_table_destroy);
+ g_clear_pointer (&metacity->draw_op_lists, g_hash_table_destroy);
+
G_OBJECT_CLASS (meta_theme_metacity_parent_class)->dispose (object);
}
@@ -67,6 +72,8 @@ meta_theme_metacity_class_init (MetaThemeMetacityClass *metacity_class)
static void
meta_theme_metacity_init (MetaThemeMetacity *metacity)
{
+ metacity->draw_op_lists = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
+ (GDestroyNotify) meta_draw_op_list_unref);
}
gboolean
@@ -241,3 +248,19 @@ meta_theme_metacity_lookup_color (MetaThemeMetacity *metacity,
return TRUE;
}
+
+MetaDrawOpList *
+meta_theme_metacity_lookup_draw_op_list (MetaThemeMetacity *metacity,
+ const gchar *name)
+{
+ return g_hash_table_lookup (metacity->draw_op_lists, name);
+}
+
+void
+meta_theme_metacity_insert_draw_op_list (MetaThemeMetacity *metacity,
+ const gchar *name,
+ MetaDrawOpList *op_list)
+{
+ meta_draw_op_list_ref (op_list);
+ g_hash_table_replace (metacity->draw_op_lists, g_strdup (name), op_list);
+}
diff --git a/libmetacity/meta-theme-metacity.h b/libmetacity/meta-theme-metacity.h
index 269acf9c..9e27a8f7 100644
--- a/libmetacity/meta-theme-metacity.h
+++ b/libmetacity/meta-theme-metacity.h
@@ -23,36 +23,45 @@
G_BEGIN_DECLS
+typedef struct _MetaDrawOpList MetaDrawOpList;
+
#define META_TYPE_THEME_METACITY meta_theme_metacity_get_type ()
G_DECLARE_FINAL_TYPE (MetaThemeMetacity, meta_theme_metacity,
META, THEME_METACITY, MetaThemeImpl)
-gboolean meta_theme_metacity_define_int (MetaThemeMetacity *metacity,
- const gchar *name,
- gint value,
- GError **error);
+gboolean meta_theme_metacity_define_int (MetaThemeMetacity *metacity,
+ const gchar *name,
+ gint value,
+ GError **error);
+
+gboolean meta_theme_metacity_lookup_int (MetaThemeMetacity *metacity,
+ const gchar *name,
+ gint *value);
+
+gboolean meta_theme_metacity_define_float (MetaThemeMetacity *metacity,
+ const gchar *name,
+ gdouble value,
+ GError **error);
-gboolean meta_theme_metacity_lookup_int (MetaThemeMetacity *metacity,
- const gchar *name,
- gint *value);
+gboolean meta_theme_metacity_lookup_float (MetaThemeMetacity *metacity,
+ const gchar *name,
+ gdouble *value);
-gboolean meta_theme_metacity_define_float (MetaThemeMetacity *metacity,
- const gchar *name,
- gdouble value,
- GError **error);
+gboolean meta_theme_metacity_define_color (MetaThemeMetacity *metacity,
+ const gchar *name,
+ const gchar *value,
+ GError **error);
-gboolean meta_theme_metacity_lookup_float (MetaThemeMetacity *metacity,
- const gchar *name,
- gdouble *value);
+gboolean meta_theme_metacity_lookup_color (MetaThemeMetacity *metacity,
+ const gchar *name,
+ gchar **value);
-gboolean meta_theme_metacity_define_color (MetaThemeMetacity *metacity,
- const gchar *name,
- const gchar *value,
- GError **error);
+MetaDrawOpList *meta_theme_metacity_lookup_draw_op_list (MetaThemeMetacity *metacity,
+ const gchar *name);
-gboolean meta_theme_metacity_lookup_color (MetaThemeMetacity *metacity,
- const gchar *name,
- gchar **value);
+void meta_theme_metacity_insert_draw_op_list (MetaThemeMetacity *metacity,
+ const gchar *name,
+ MetaDrawOpList *op_list);
G_END_DECLS