summaryrefslogtreecommitdiff
path: root/gtk/gtkcssimage.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2012-10-11 12:10:20 +0200
committerBenjamin Otte <otte@redhat.com>2012-10-31 11:09:10 +0100
commitc13efbf8b07145339c08652ade0b438a1f17d137 (patch)
treef426935af755136712071677bfc4dd0bd1194be8 /gtk/gtkcssimage.c
parent73fe9a2acf33d06e5979ebf7cfc57d214dc87d9a (diff)
downloadgtk+-c13efbf8b07145339c08652ade0b438a1f17d137.tar.gz
cssimage: Add an equal vfunc
No implementations for it exist yet.
Diffstat (limited to 'gtk/gtkcssimage.c')
-rw-r--r--gtk/gtkcssimage.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/gtk/gtkcssimage.c b/gtk/gtkcssimage.c
index 924dc2ad2e..abe95ae6c0 100644
--- a/gtk/gtkcssimage.c
+++ b/gtk/gtkcssimage.c
@@ -69,6 +69,13 @@ gtk_css_image_real_compute (GtkCssImage *image,
return g_object_ref (image);
}
+static gboolean
+gtk_css_image_real_equal (GtkCssImage *image1,
+ GtkCssImage *image2)
+{
+ return FALSE;
+}
+
static GtkCssImage *
gtk_css_image_real_transition (GtkCssImage *start,
GtkCssImage *end,
@@ -90,6 +97,7 @@ _gtk_css_image_class_init (GtkCssImageClass *klass)
klass->get_height = gtk_css_image_real_get_height;
klass->get_aspect_ratio = gtk_css_image_real_get_aspect_ratio;
klass->compute = gtk_css_image_real_compute;
+ klass->equal = gtk_css_image_real_equal;
klass->transition = gtk_css_image_real_transition;
}
@@ -188,6 +196,29 @@ _gtk_css_image_transition (GtkCssImage *start,
return klass->transition (start, end, property_id, progress);
}
+gboolean
+_gtk_css_image_equal (GtkCssImage *image1,
+ GtkCssImage *image2)
+{
+ GtkCssImageClass *klass;
+
+ g_return_val_if_fail (image1 == NULL || GTK_IS_CSS_IMAGE (image1), FALSE);
+ g_return_val_if_fail (image2 == NULL || GTK_IS_CSS_IMAGE (image2), FALSE);
+
+ if (image1 == image2)
+ return TRUE;
+
+ if (image1 == NULL || image2 == NULL)
+ return FALSE;
+
+ if (G_OBJECT_TYPE (image1) != G_OBJECT_TYPE (image2))
+ return FALSE;
+
+ klass = GTK_CSS_IMAGE_GET_CLASS (image1);
+
+ return klass->equal (image1, image2);
+}
+
void
_gtk_css_image_draw (GtkCssImage *image,
cairo_t *cr,