summaryrefslogtreecommitdiff
path: root/gtk/gtkcssstylepropertyimpl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkcssstylepropertyimpl.c')
-rw-r--r--gtk/gtkcssstylepropertyimpl.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gtk/gtkcssstylepropertyimpl.c b/gtk/gtkcssstylepropertyimpl.c
index 138c50fa15..4f191e6d2e 100644
--- a/gtk/gtkcssstylepropertyimpl.c
+++ b/gtk/gtkcssstylepropertyimpl.c
@@ -986,6 +986,24 @@ parse_border_width (GtkCssStyleProperty *property,
}
static GtkCssValue *
+blend_mode_value_parse_one (GtkCssParser *parser)
+{
+ GtkCssValue *value = _gtk_css_blend_mode_value_try_parse (parser);
+
+ if (value == NULL)
+ _gtk_css_parser_error (parser, "unknown value for property");
+
+ return value;
+}
+
+static GtkCssValue *
+blend_mode_value_parse (GtkCssStyleProperty *property,
+ GtkCssParser *parser)
+{
+ return _gtk_css_array_value_parse (parser, blend_mode_value_parse_one);
+}
+
+static GtkCssValue *
background_repeat_value_parse_one (GtkCssParser *parser)
{
GtkCssValue *value = _gtk_css_background_repeat_value_try_parse (parser);
@@ -1565,6 +1583,16 @@ _gtk_css_style_property_init_properties (void)
background_image_value_assign,
_gtk_css_array_value_new (_gtk_css_image_value_new (NULL)));
+ gtk_css_style_property_register ("background-blend-mode",
+ GTK_CSS_PROPERTY_BACKGROUND_BLEND_MODE,
+ G_TYPE_NONE,
+ 0,
+ GTK_CSS_AFFECTS_BACKGROUND,
+ blend_mode_value_parse,
+ NULL,
+ NULL,
+ _gtk_css_array_value_new (_gtk_css_blend_mode_value_new (GTK_CSS_BLEND_MODE_NORMAL)));
+
gtk_css_style_property_register ("border-image-source",
GTK_CSS_PROPERTY_BORDER_IMAGE_SOURCE,
CAIRO_GOBJECT_TYPE_PATTERN,