diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-09-14 21:23:25 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-09-14 21:51:24 -0400 |
commit | b5808192f669a33fa4f3c833c9d47f742da71930 (patch) | |
tree | 2ac8ad42cbdaf57a3a296cd6e1049767db9536ab | |
parent | 848000b419e36cdefbfb8c7b77b236c40492b712 (diff) | |
download | gtk+-drop-define-color.tar.gz |
Drop @define-color from the css machinerydrop-define-color
Stop parsing @define-color rules, and drop related
apis and css value implementations.
-rw-r--r-- | gtk/gtkcsscolorvalue.c | 30 | ||||
-rw-r--r-- | gtk/gtkcssprovider.c | 79 | ||||
-rw-r--r-- | gtk/gtkstylecascade.c | 26 | ||||
-rw-r--r-- | gtk/gtkstylecontext.c | 6 | ||||
-rw-r--r-- | gtk/gtkstyleprovider.c | 20 | ||||
-rw-r--r-- | gtk/gtkstyleproviderprivate.h | 4 |
6 files changed, 1 insertions, 164 deletions
diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c index 5430489401..2ce0be2273 100644 --- a/gtk/gtkcsscolorvalue.c +++ b/gtk/gtkcsscolorvalue.c @@ -28,7 +28,6 @@ typedef enum { COLOR_TYPE_LITERAL, - COLOR_TYPE_NAME, COLOR_TYPE_SHADE, COLOR_TYPE_ALPHA, COLOR_TYPE_MIX, @@ -69,9 +68,6 @@ gtk_css_value_color_free (GtkCssValue *color) switch (color->type) { - case COLOR_TYPE_NAME: - g_free (color->sym_col.name); - break; case COLOR_TYPE_SHADE: _gtk_css_value_unref (color->sym_col.shade.color); break; @@ -187,8 +183,6 @@ gtk_css_value_color_equal (const GtkCssValue *value1, { case COLOR_TYPE_LITERAL: return gdk_rgba_equal (&value1->sym_col.rgba, &value2->sym_col.rgba); - case COLOR_TYPE_NAME: - return g_str_equal (value1->sym_col.name, value2->sym_col.name); case COLOR_TYPE_SHADE: return value1->sym_col.shade.factor == value2->sym_col.shade.factor && _gtk_css_value_equal (value1->sym_col.shade.color, @@ -233,10 +227,6 @@ gtk_css_value_color_print (const GtkCssValue *value, g_free (s); } break; - case COLOR_TYPE_NAME: - g_string_append (string, "@"); - g_string_append (string, value->sym_col.name); - break; case COLOR_TYPE_SHADE: { char factor[G_ASCII_DTOSTR_BUF_SIZE]; @@ -359,26 +349,7 @@ _gtk_css_color_value_resolve (GtkCssValue *color, { case COLOR_TYPE_LITERAL: return _gtk_css_value_ref (color); - case COLOR_TYPE_NAME: - { - GtkCssValue *named; - GSList cycle = { color, cycle_list }; - - /* If color exists in cycle_list, we're currently resolving it. - * So we've detected a cycle. */ - if (g_slist_find (cycle_list, color)) - return NULL; - named = gtk_style_provider_get_color (provider, color->sym_col.name); - if (named == NULL) - return NULL; - - value = _gtk_css_color_value_resolve (named, provider, current, &cycle); - if (value == NULL) - return NULL; - } - - break; case COLOR_TYPE_SHADE: { const GdkRGBA *c; @@ -529,7 +500,6 @@ _gtk_css_color_value_new_name (const char *name) gtk_internal_return_val_if_fail (name != NULL, NULL); value = _gtk_css_value_new (GtkCssValue, >K_CSS_VALUE_COLOR); - value->type = COLOR_TYPE_NAME; value->sym_col.name = g_strdup (name); return value; diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 13644f5d82..d8c93cf3ba 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -127,7 +127,6 @@ struct _GtkCssProviderPrivate { GScanner *scanner; - GHashTable *symbolic_colors; GHashTable *keyframes; GArray *rulesets; @@ -395,9 +394,6 @@ gtk_css_provider_init (GtkCssProvider *css_provider) priv->rulesets = g_array_new (FALSE, FALSE, sizeof (GtkCssRuleset)); - priv->symbolic_colors = g_hash_table_new_full (g_str_hash, g_str_equal, - (GDestroyNotify) g_free, - (GDestroyNotify) _gtk_css_value_unref); priv->keyframes = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, (GDestroyNotify) _gtk_css_keyframes_unref); @@ -440,16 +436,6 @@ verify_tree_match_results (GtkCssProvider *provider, #endif } -static GtkCssValue * -gtk_css_style_provider_get_color (GtkStyleProvider *provider, - const char *name) -{ - GtkCssProvider *css_provider = GTK_CSS_PROVIDER (provider); - GtkCssProviderPrivate *priv = gtk_css_provider_get_instance_private (css_provider); - - return g_hash_table_lookup (priv->symbolic_colors, name); -} - static GtkCssKeyframes * gtk_css_style_provider_get_keyframes (GtkStyleProvider *provider, const char *name) @@ -515,7 +501,6 @@ gtk_css_style_provider_lookup (GtkStyleProvider *provider, static void gtk_css_style_provider_iface_init (GtkStyleProviderInterface *iface) { - iface->get_color = gtk_css_style_provider_get_color; iface->get_keyframes = gtk_css_style_provider_get_keyframes; iface->lookup = gtk_css_style_provider_lookup; iface->emit_error = gtk_css_style_provider_emit_error; @@ -534,7 +519,6 @@ gtk_css_provider_finalize (GObject *object) g_array_free (priv->rulesets, TRUE); _gtk_css_selector_tree_free (priv->tree); - g_hash_table_destroy (priv->symbolic_colors); g_hash_table_destroy (priv->keyframes); if (priv->resource) @@ -607,7 +591,6 @@ gtk_css_provider_reset (GtkCssProvider *css_provider) priv->path = NULL; } - g_hash_table_remove_all (priv->symbolic_colors); g_hash_table_remove_all (priv->keyframes); for (i = 0; i < priv->rulesets->len; i++) @@ -689,41 +672,6 @@ parse_import (GtkCssScanner *scanner) } static gboolean -parse_color_definition (GtkCssScanner *scanner) -{ - GtkCssProviderPrivate *priv = gtk_css_provider_get_instance_private (scanner->provider); - GtkCssValue *color; - char *name; - - if (!gtk_css_parser_try_at_keyword (scanner->parser, "define-color")) - return FALSE; - - name = gtk_css_parser_consume_ident (scanner->parser); - if (name == NULL) - return TRUE; - - color = _gtk_css_color_value_parse (scanner->parser); - if (color == NULL) - { - g_free (name); - return TRUE; - } - - if (!gtk_css_parser_has_token (scanner->parser, GTK_CSS_TOKEN_EOF)) - { - g_free (name); - _gtk_css_value_unref (color); - gtk_css_parser_error_syntax (scanner->parser, - "Missing semicolon at end of color definition"); - return TRUE; - } - - g_hash_table_insert (priv->symbolic_colors, name, color); - - return TRUE; -} - -static gboolean parse_keyframes (GtkCssScanner *scanner) { GtkCssProviderPrivate *priv = gtk_css_provider_get_instance_private (scanner->provider); @@ -761,7 +709,6 @@ parse_at_keyword (GtkCssScanner *scanner) gtk_css_parser_start_semicolon_block (scanner->parser, GTK_CSS_TOKEN_OPEN_CURLY); if (!parse_import (scanner) && - !parse_color_definition (scanner) && !parse_keyframes (scanner)) { gtk_css_parser_error_syntax (scanner->parser, "Unknown @ rule"); @@ -1459,31 +1406,6 @@ gtk_css_ruleset_print (const GtkCssRuleset *ruleset, } static void -gtk_css_provider_print_colors (GHashTable *colors, - GString *str) -{ - GList *keys, *walk; - - keys = g_hash_table_get_keys (colors); - /* so the output is identical for identical styles */ - keys = g_list_sort (keys, (GCompareFunc) strcmp); - - for (walk = keys; walk; walk = walk->next) - { - const char *name = walk->data; - GtkCssValue *color = g_hash_table_lookup (colors, (gpointer) name); - - g_string_append (str, "@define-color "); - g_string_append (str, name); - g_string_append (str, " "); - _gtk_css_value_print (color, str); - g_string_append (str, ";\n"); - } - - g_list_free (keys); -} - -static void gtk_css_provider_print_keyframes (GHashTable *keyframes, GString *str) { @@ -1535,7 +1457,6 @@ gtk_css_provider_to_string (GtkCssProvider *provider) str = g_string_new (""); - gtk_css_provider_print_colors (priv->symbolic_colors, str); gtk_css_provider_print_keyframes (priv->keyframes, str); for (i = 0; i < priv->rulesets->len; i++) diff --git a/gtk/gtkstylecascade.c b/gtk/gtkstylecascade.c index 1871b7073e..3f8fd98f87 100644 --- a/gtk/gtkstylecascade.c +++ b/gtk/gtkstylecascade.c @@ -120,31 +120,6 @@ gtk_style_cascade_get_settings (GtkStyleProvider *provider) return NULL; } -static GtkCssValue * -gtk_style_cascade_get_color (GtkStyleProvider *provider, - const char *name) -{ - GtkStyleCascade *cascade = GTK_STYLE_CASCADE (provider); - GtkStyleCascadeIter iter; - GtkCssValue *color; - GtkStyleProvider *item; - - for (item = gtk_style_cascade_iter_init (cascade, &iter); - item; - item = gtk_style_cascade_iter_next (cascade, &iter)) - { - color = gtk_style_provider_get_color (item, name); - if (color) - { - gtk_style_cascade_iter_clear (&iter); - return color; - } - } - - gtk_style_cascade_iter_clear (&iter); - return NULL; -} - static int gtk_style_cascade_get_scale (GtkStyleProvider *provider) { @@ -205,7 +180,6 @@ gtk_style_cascade_lookup (GtkStyleProvider *provider, static void gtk_style_cascade_provider_iface_init (GtkStyleProviderInterface *iface) { - iface->get_color = gtk_style_cascade_get_color; iface->get_settings = gtk_style_cascade_get_settings; iface->get_scale = gtk_style_cascade_get_scale; iface->get_keyframes = gtk_style_cascade_get_keyframes; diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 5fca489632..56b7982504 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -838,11 +838,7 @@ gtk_style_context_lookup_color (GtkStyleContext *context, g_return_val_if_fail (color_name != NULL, FALSE); g_return_val_if_fail (color != NULL, FALSE); - value = gtk_style_provider_get_color (GTK_STYLE_PROVIDER (priv->cascade), color_name); - if (value == NULL) - return FALSE; - - return gtk_style_context_resolve_color (context, value, color); + return FALSE; } /** diff --git a/gtk/gtkstyleprovider.c b/gtk/gtkstyleprovider.c index f9f530c45a..19fb2c08ad 100644 --- a/gtk/gtkstyleprovider.c +++ b/gtk/gtkstyleprovider.c @@ -58,26 +58,6 @@ gtk_style_provider_default_init (GtkStyleProviderInterface *iface) } -GtkCssValue * -gtk_style_provider_get_color (GtkStyleProvider *provider, - const char *name) -{ - GtkStyleProviderInterface *iface; - - /* for compat with gtk_symbolic_color_resolve() */ - if (provider == NULL) - return NULL; - - gtk_internal_return_val_if_fail (GTK_IS_STYLE_PROVIDER (provider), NULL); - - iface = GTK_STYLE_PROVIDER_GET_INTERFACE (provider); - - if (!iface->get_color) - return NULL; - - return iface->get_color (provider, name); -} - GtkCssKeyframes * gtk_style_provider_get_keyframes (GtkStyleProvider *provider, const char *name) diff --git a/gtk/gtkstyleproviderprivate.h b/gtk/gtkstyleproviderprivate.h index 5ee16e3d00..9df1073987 100644 --- a/gtk/gtkstyleproviderprivate.h +++ b/gtk/gtkstyleproviderprivate.h @@ -36,8 +36,6 @@ struct _GtkStyleProviderInterface { GTypeInterface g_iface; - GtkCssValue * (* get_color) (GtkStyleProvider *provider, - const char *name); GtkSettings * (* get_settings) (GtkStyleProvider *provider); GtkCssKeyframes * (* get_keyframes) (GtkStyleProvider *provider, const char *name); @@ -55,8 +53,6 @@ struct _GtkStyleProviderInterface }; GtkSettings * gtk_style_provider_get_settings (GtkStyleProvider *provider); -GtkCssValue * gtk_style_provider_get_color (GtkStyleProvider *provider, - const char *name); GtkCssKeyframes * gtk_style_provider_get_keyframes (GtkStyleProvider *provider, const char *name); int gtk_style_provider_get_scale (GtkStyleProvider *provider); |