[metacity] theme: move draw_op_lists to MetaThemeMetacity
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] theme: move draw_op_lists to MetaThemeMetacity
- Date: Sun, 31 Jan 2016 05:25:05 +0000 (UTC)
commit 20d710475fadd2312429f93f49f4cf6eede2be15
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Fri Jan 29 14:15:02 2016 +0200
theme: move draw_op_lists to MetaThemeMetacity
libmetacity/meta-theme-metacity.c | 23 ++++++++++++++++
libmetacity/meta-theme-metacity.h | 51 +++++++++++++++++++++---------------
src/ui/theme-parser.c | 24 ++++++++++-------
src/ui/theme-private.h | 6 ----
src/ui/theme.c | 23 ----------------
5 files changed, 67 insertions(+), 60 deletions(-)
---
diff --git a/libmetacity/meta-theme-metacity.c b/libmetacity/meta-theme-metacity.c
index 8714035..c6eebb6 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 269acf9..9e27a8f 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
diff --git a/src/ui/theme-parser.c b/src/ui/theme-parser.c
index b460a64..0a8a94f 100644
--- a/src/ui/theme-parser.c
+++ b/src/ui/theme-parser.c
@@ -786,8 +786,12 @@ parse_toplevel_element (GMarkupParseContext *context,
ParseInfo *info,
GError **error)
{
+ MetaThemeMetacity *metacity;
+
g_return_if_fail (peek_state (info) == STATE_THEME);
+ metacity = META_THEME_METACITY (info->theme->impl);
+
if (ELEMENT_IS ("info"))
{
if (!check_no_attributes (context, element_name,
@@ -978,7 +982,7 @@ parse_toplevel_element (GMarkupParseContext *context,
NULL))
return;
- if (meta_theme_lookup_draw_op_list (info->theme, name))
+ if (meta_theme_metacity_lookup_draw_op_list (metacity, name))
{
set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
_("<%s> name \"%s\" used a second time"),
@@ -989,7 +993,7 @@ parse_toplevel_element (GMarkupParseContext *context,
g_assert (info->op_list == NULL);
info->op_list = meta_draw_op_list_new (2);
- meta_theme_insert_draw_op_list (info->theme, name, info->op_list);
+ meta_theme_metacity_insert_draw_op_list (metacity, name, info->op_list);
push_state (info, STATE_DRAW_OPS);
}
@@ -2478,8 +2482,7 @@ parse_draw_op_element (GMarkupParseContext *context,
/* x/y/width/height default to 0,0,width,height - should
* probably do this for all the draw ops
*/
- op_list = meta_theme_lookup_draw_op_list (info->theme,
- name);
+ op_list = meta_theme_metacity_lookup_draw_op_list (metacity, name);
if (op_list == NULL)
{
set_error (error, context, G_MARKUP_ERROR,
@@ -2546,8 +2549,7 @@ parse_draw_op_element (GMarkupParseContext *context,
return;
/* These default to 0 */
- op_list = meta_theme_lookup_draw_op_list (info->theme,
- name);
+ op_list = meta_theme_metacity_lookup_draw_op_list (metacity, name);
if (op_list == NULL)
{
set_error (error, context, G_MARKUP_ERROR,
@@ -2752,10 +2754,14 @@ parse_style_element (GMarkupParseContext *context,
ParseInfo *info,
GError **error)
{
+ MetaThemeMetacity *metacity;
+
g_return_if_fail (peek_state (info) == STATE_FRAME_STYLE);
g_assert (info->style);
+ metacity = META_THEME_METACITY (info->theme->impl);
+
if (ELEMENT_IS ("piece"))
{
const char *position = NULL;
@@ -2791,8 +2797,7 @@ parse_style_element (GMarkupParseContext *context,
{
MetaDrawOpList *op_list;
- op_list = meta_theme_lookup_draw_op_list (info->theme,
- draw_ops);
+ op_list = meta_theme_metacity_lookup_draw_op_list (metacity, draw_ops);
if (op_list == NULL)
{
@@ -2868,8 +2873,7 @@ parse_style_element (GMarkupParseContext *context,
{
MetaDrawOpList *op_list;
- op_list = meta_theme_lookup_draw_op_list (info->theme,
- draw_ops);
+ op_list = meta_theme_metacity_lookup_draw_op_list (metacity, draw_ops);
if (op_list == NULL)
{
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index 7bc06e2..3667d9c 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -323,7 +323,6 @@ struct _MetaTheme
GHashTable *images_by_filename;
GHashTable *layouts_by_name;
- GHashTable *draw_op_lists_by_name;
GHashTable *styles_by_name;
GHashTable *style_sets_by_name;
@@ -370,11 +369,6 @@ MetaFrameLayout *meta_theme_lookup_layout (MetaTheme
void meta_theme_insert_layout (MetaTheme *theme,
const char *name,
MetaFrameLayout *layout);
-MetaDrawOpList *meta_theme_lookup_draw_op_list (MetaTheme *theme,
- const char *name);
-void meta_theme_insert_draw_op_list (MetaTheme *theme,
- const char *name,
- MetaDrawOpList *op_list);
MetaFrameStyle *meta_theme_lookup_style (MetaTheme *theme,
const char *name);
void meta_theme_insert_style (MetaTheme *theme,
diff --git a/src/ui/theme.c b/src/ui/theme.c
index ea0d099..6fac26a 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -2358,12 +2358,6 @@ meta_theme_new (MetaThemeType type)
g_free,
(GDestroyNotify) meta_frame_layout_unref);
- theme->draw_op_lists_by_name =
- g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- (GDestroyNotify) meta_draw_op_list_unref);
-
theme->styles_by_name =
g_hash_table_new_full (g_str_hash,
g_str_equal,
@@ -2407,7 +2401,6 @@ meta_theme_free (MetaTheme *theme)
g_hash_table_destroy (theme->images_by_filename);
g_hash_table_destroy (theme->layouts_by_name);
- g_hash_table_destroy (theme->draw_op_lists_by_name);
g_hash_table_destroy (theme->styles_by_name);
g_hash_table_destroy (theme->style_sets_by_name);
@@ -2713,22 +2706,6 @@ meta_theme_insert_layout (MetaTheme *theme,
g_hash_table_replace (theme->layouts_by_name, g_strdup (name), layout);
}
-MetaDrawOpList*
-meta_theme_lookup_draw_op_list (MetaTheme *theme,
- const char *name)
-{
- return g_hash_table_lookup (theme->draw_op_lists_by_name, name);
-}
-
-void
-meta_theme_insert_draw_op_list (MetaTheme *theme,
- const char *name,
- MetaDrawOpList *op_list)
-{
- meta_draw_op_list_ref (op_list);
- g_hash_table_replace (theme->draw_op_lists_by_name, g_strdup (name), op_list);
-}
-
MetaFrameStyle*
meta_theme_lookup_style (MetaTheme *theme,
const char *name)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]