/*** IMPLEMENTATIONS ***/
+static GtkCssValue *
+color_parse (GtkCssStyleProperty *property,
+ GtkCssParser *parser,
+ GFile *base)
+{
+ GtkSymbolicColor *symbolic;
+
+ if (_gtk_css_parser_try (parser, "currentcolor", TRUE))
+ {
+ symbolic = gtk_symbolic_color_ref (_gtk_symbolic_color_get_current_color ());
+ }
+ else
+ {
+ symbolic = _gtk_css_parser_read_symbolic_color (parser);
+ if (symbolic == NULL)
+ return NULL;
+ }
+
+ return _gtk_css_value_new_take_symbolic_color (symbolic);
+}
+
static GtkCssValue *
color_compute (GtkCssStyleProperty *property,
GtkStyleContext *context,
GDK_TYPE_RGBA,
GDK_TYPE_RGBA,
GTK_STYLE_PROPERTY_INHERIT,
- NULL,
+ color_parse,
NULL,
color_compute,
NULL,
GDK_TYPE_RGBA,
GDK_TYPE_RGBA,
0,
- NULL,
+ color_parse,
NULL,
color_compute,
NULL,
GDK_TYPE_RGBA,
GDK_TYPE_RGBA,
0,
- NULL,
+ color_parse,
NULL,
color_compute,
NULL,
GDK_TYPE_RGBA,
GDK_TYPE_RGBA,
0,
- NULL,
+ color_parse,
NULL,
color_compute,
NULL,
GDK_TYPE_RGBA,
GDK_TYPE_RGBA,
0,
- NULL,
+ color_parse,
NULL,
color_compute,
NULL,
GDK_TYPE_RGBA,
GDK_TYPE_RGBA,
0,
- NULL,
+ color_parse,
NULL,
color_compute,
NULL,
GDK_TYPE_RGBA,
GDK_TYPE_RGBA,
0,
- NULL,
+ color_parse,
NULL,
color_compute,
NULL,