summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-09-14 21:23:25 -0400
committerMatthias Clasen <mclasen@redhat.com>2022-09-14 21:51:24 -0400
commitb5808192f669a33fa4f3c833c9d47f742da71930 (patch)
tree2ac8ad42cbdaf57a3a296cd6e1049767db9536ab
parent848000b419e36cdefbfb8c7b77b236c40492b712 (diff)
downloadgtk+-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.c30
-rw-r--r--gtk/gtkcssprovider.c79
-rw-r--r--gtk/gtkstylecascade.c26
-rw-r--r--gtk/gtkstylecontext.c6
-rw-r--r--gtk/gtkstyleprovider.c20
-rw-r--r--gtk/gtkstyleproviderprivate.h4
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, &GTK_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);