changeset 959:37f2938ecd72

Fixes for bitblts with clipping and offset on GTK3.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 02 May 2011 05:39:37 +0000
parents 5320a168cc0d
children 841b66d2d1b9
files gtk3/dw.c
diffstat 1 files changed, 5 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/gtk3/dw.c	Mon May 02 05:31:36 2011 +0000
+++ b/gtk3/dw.c	Mon May 02 05:39:37 2011 +0000
@@ -7210,14 +7210,12 @@
    if(cr)
    {
       if(src)
-         gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xsrc, ysrc);
+         gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xdest -xsrc, ydest - ysrc);
       else if(srcp)
-         cairo_set_source_surface (cr, srcp->image, xsrc, ysrc);
-#if 0      
-         gdk_cairo_set_source_pixbuf (cr, srcp->pixbuf, xsrc, ysrc);
-#endif         
-
-      cairo_paint(cr);
+         cairo_set_source_surface (cr, srcp->image, xdest - xsrc, ydest - ysrc);
+         
+      cairo_rectangle(cr, xdest, ydest, width, height);
+      cairo_fill(cr);
       cairo_destroy(cr);
    }
    DW_MUTEX_UNLOCK;