summaryrefslogtreecommitdiff
path: root/gtk/gtkcsscolorvalue.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2019-04-09 05:15:45 +0200
committerBenjamin Otte <otte@redhat.com>2019-04-12 19:34:28 +0200
commita31e5f7a8c4c6965d92b8171c514b12f435a021f (patch)
tree61d8135bdb92da8463b9230ee2be0d7607e509c6 /gtk/gtkcsscolorvalue.c
parente0a01ba1743cd147ee29ad11944f8204768dd5c1 (diff)
downloadgtk+-a31e5f7a8c4c6965d92b8171c514b12f435a021f.tar.gz
cssshadow: Use gtk_css_parser_consume_any()
This way, the arguments can now really be speicified in any order. A new testcase testing all the ordering possibilities has been added.
Diffstat (limited to 'gtk/gtkcsscolorvalue.c')
-rw-r--r--gtk/gtkcsscolorvalue.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c
index 40b3159666..617f92bdc1 100644
--- a/gtk/gtkcsscolorvalue.c
+++ b/gtk/gtkcsscolorvalue.c
@@ -574,6 +574,23 @@ parse_color_number (GtkCssParser *parser,
}
}
+gboolean
+gtk_css_color_value_can_parse (GtkCssParser *parser)
+{
+ /* This is way too generous, but meh... */
+ return gtk_css_parser_has_token (parser, GTK_CSS_TOKEN_IDENT)
+ || gtk_css_parser_has_token (parser, GTK_CSS_TOKEN_AT_KEYWORD)
+ || gtk_css_parser_has_token (parser, GTK_CSS_TOKEN_HASH_ID)
+ || gtk_css_parser_has_token (parser, GTK_CSS_TOKEN_HASH_UNRESTRICTED)
+ || gtk_css_parser_has_function (parser, "lighter")
+ || gtk_css_parser_has_function (parser, "darker")
+ || gtk_css_parser_has_function (parser, "shade")
+ || gtk_css_parser_has_function (parser, "alpha")
+ || gtk_css_parser_has_function (parser, "mix")
+ || gtk_css_parser_has_function (parser, "rgb")
+ || gtk_css_parser_has_function (parser, "rgba");
+}
+
GtkCssValue *
_gtk_css_color_value_parse (GtkCssParser *parser)
{