diff options
author | Benjamin Otte <otte@redhat.com> | 2010-08-21 13:18:14 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2010-09-26 15:03:01 +0200 |
commit | e31e77eeb848974a375ca01a56551d01c757fcea (patch) | |
tree | 67e364ddb6c6e0db18992c3a3363e31386983e48 /gtk/gtkcellrendererpixbuf.c | |
parent | 4138e86ad458fe157d47e1244addbd6939f3f7be (diff) | |
download | gtk+-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.c | 24 |
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); |