cssimagerecolor: Implement is_computed()
authorTimm Bäder <mail@baedert.org>
Mon, 20 Jan 2020 08:22:02 +0000 (09:22 +0100)
committerTimm Bäder <mail@baedert.org>
Fri, 24 Jan 2020 05:08:39 +0000 (06:08 +0100)
gtk/gtkcssimagerecolor.c

index 36cc7bd9c463b793855ecca5ab86987292376168..4094de8a785faf50bd11f4a8951aeeea167f2014 100644 (file)
@@ -308,6 +308,15 @@ gtk_css_image_recolor_get_height (GtkCssImage *image)
   return gdk_texture_get_height (recolor->texture);
 }
 
+static gboolean
+gtk_css_image_recolor_is_computed (GtkCssImage *image)
+{
+  GtkCssImageRecolor *recolor = GTK_CSS_IMAGE_RECOLOR (image);
+
+  return recolor->texture &&
+         (!recolor->palette || gtk_css_value_is_computed (recolor->palette));
+}
+
 static void
 _gtk_css_image_recolor_class_init (GtkCssImageRecolorClass *klass)
 {
@@ -320,6 +329,7 @@ _gtk_css_image_recolor_class_init (GtkCssImageRecolorClass *klass)
   image_class->snapshot = gtk_css_image_recolor_snapshot;
   image_class->parse = gtk_css_image_recolor_parse;
   image_class->print = gtk_css_image_recolor_print;
+  image_class->is_computed = gtk_css_image_recolor_is_computed;
 
   object_class->dispose = gtk_css_image_recolor_dispose;
 }