From c1c9b7dfc8ac22edd9110a40fd1fb97e9585cd88 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 15 Jul 2010 15:44:24 +0200 Subject: [PATCH] pixbuf-engine: Draw mask with Cairo No more gdk_pixbuf_render_threshold_alpha() --- modules/engines/pixbuf/pixbuf-render.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/engines/pixbuf/pixbuf-render.c b/modules/engines/pixbuf/pixbuf-render.c index d074f64c91..c05832da34 100644 --- a/modules/engines/pixbuf/pixbuf-render.c +++ b/modules/engines/pixbuf/pixbuf-render.c @@ -479,16 +479,20 @@ pixbuf_render (GdkPixbuf *src, { cairo_t *cr; - cr = gdk_cairo_create (window); if (mask) { - gdk_pixbuf_render_threshold_alpha (tmp_pixbuf, mask, - x_offset, y_offset, - rect.x, rect.y, - rect.width, rect.height, - 128); + cr = gdk_cairo_create (mask); + + gdk_cairo_set_source_pixbuf (cr, tmp_pixbuf, + -x_offset + rect.x, + -y_offset + rect.y); + gdk_cairo_rectangle (cr, &rect); + cairo_fill (cr); + + cairo_destroy (cr); } + cr = gdk_cairo_create (window); gdk_cairo_set_source_pixbuf (cr, tmp_pixbuf, -x_offset + rect.x,