summaryrefslogtreecommitdiff
path: root/gtk/gtkcellrendererpixbuf.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-08-21 13:18:14 +0200
committerBenjamin Otte <otte@redhat.com>2010-09-26 15:03:01 +0200
commite31e77eeb848974a375ca01a56551d01c757fcea (patch)
tree67e364ddb6c6e0db18992c3a3363e31386983e48 /gtk/gtkcellrendererpixbuf.c
parent4138e86ad458fe157d47e1244addbd6939f3f7be (diff)
downloadgtk+-e31e77eeb848974a375ca01a56551d01c757fcea.tar.gz
API: Change cellrenderer->render vfunc to take a cairo_t
Also constify the rectangle arguments. They were const anyway.
Diffstat (limited to 'gtk/gtkcellrendererpixbuf.c')
-rw-r--r--gtk/gtkcellrendererpixbuf.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index ce88b817a6..edd469e520 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -45,11 +45,10 @@ static void gtk_cell_renderer_pixbuf_get_size (GtkCellRenderer *cel
gint *width,
gint *height);
static void gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell,
- GdkDrawable *window,
+ cairo_t *cr,
GtkWidget *widget,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GdkRectangle *expose_area,
+ const GdkRectangle *background_area,
+ const GdkRectangle *cell_area,
GtkCellRendererState flags);
@@ -743,11 +742,10 @@ gtk_cell_renderer_pixbuf_get_size (GtkCellRenderer *cell,
static void
gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell,
- GdkWindow *window,
+ cairo_t *cr,
GtkWidget *widget,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GdkRectangle *expose_area,
+ const GdkRectangle *background_area,
+ const GdkRectangle *cell_area,
GtkCellRendererState flags)
{
@@ -759,11 +757,10 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell,
GdkPixbuf *symbolic = NULL;
GdkRectangle pix_rect;
GdkRectangle draw_rect;
- cairo_t *cr;
gboolean is_expander;
gint xpad, ypad;
- gtk_cell_renderer_pixbuf_get_size (cell, widget, cell_area,
+ gtk_cell_renderer_pixbuf_get_size (cell, widget, (GdkRectangle *) cell_area,
&pix_rect.x,
&pix_rect.y,
&pix_rect.width,
@@ -775,8 +772,7 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell,
pix_rect.width -= xpad * 2;
pix_rect.height -= ypad * 2;
- if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect) ||
- !gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect))
+ if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect))
return;
pixbuf = priv->pixbuf;
@@ -852,14 +848,10 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell,
}
}
- cr = gdk_cairo_create (window);
-
gdk_cairo_set_source_pixbuf (cr, pixbuf, pix_rect.x, pix_rect.y);
gdk_cairo_rectangle (cr, &draw_rect);
cairo_fill (cr);
- cairo_destroy (cr);
-
if (invisible)
g_object_unref (invisible);