[gimp] libgimpwidgets: port GimpCellRendererToggle drawing to cairo



commit 1e48f161131eb1b6f36868ebc9c748a69b514dff
Author: Michael Natterer <mitch gimp org>
Date:   Sun Aug 8 15:39:16 2010 +0200

    libgimpwidgets: port GimpCellRendererToggle drawing to cairo

 libgimpwidgets/gimpcellrenderertoggle.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)
---
diff --git a/libgimpwidgets/gimpcellrenderertoggle.c b/libgimpwidgets/gimpcellrenderertoggle.c
index 06bd921..218fbd8 100644
--- a/libgimpwidgets/gimpcellrenderertoggle.c
+++ b/libgimpwidgets/gimpcellrenderertoggle.c
@@ -367,18 +367,18 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer      *cell,
       toggle_rect.height -= style->ythickness * 2;
 
       if (gdk_rectangle_intersect (&draw_rect, &toggle_rect, &draw_rect))
-        gdk_draw_pixbuf (window,
-                         style->black_gc,
-                         toggle->pixbuf,
-                         /* pixbuf 0, 0 is at toggle_rect.x, toggle_rect.y */
-                         draw_rect.x - toggle_rect.x,
-                         draw_rect.y - toggle_rect.y,
-                         draw_rect.x,
-                         draw_rect.y,
-                         draw_rect.width,
-                         draw_rect.height,
-                         GDK_RGB_DITHER_NORMAL,
-                         0, 0);
+        {
+          cairo_t *cr = gdk_cairo_create (window);
+
+          gdk_cairo_rectangle (cr, &draw_rect);
+          cairo_clip (cr);
+
+          gdk_cairo_set_source_pixbuf (cr, toggle->pixbuf,
+                                       toggle_rect.x, toggle_rect.y);
+          cairo_paint (cr);
+
+          cairo_destroy (cr);
+        }
     }
 }
 



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