[gtk+/rendering-cleanup: 71/124] pixbuf-engine: Draw mask with Cairo



commit 5cd084f2c826fa43762580536f628425dafc717b
Author: Benjamin Otte <otte redhat com>
Date:   Thu Jul 15 15:44:24 2010 +0200

    pixbuf-engine: Draw mask with Cairo
    
    No more gdk_pixbuf_render_threshold_alpha()

 modules/engines/pixbuf/pixbuf-render.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)
---
diff --git a/modules/engines/pixbuf/pixbuf-render.c b/modules/engines/pixbuf/pixbuf-render.c
index d074f64..c05832d 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, 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]