diff gtk3/dw.c @ 816:916002e29d4c

Implemented dw_pixmap_bitblt() with cairo surfaces instead of pixbufs. Control Center almost works... except it is black and white.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 26 Mar 2011 05:03:40 +0000
parents c1e93dd575a5
children 2d0681b8d8f6
line wrap: on
line diff
--- a/gtk3/dw.c	Sat Mar 26 04:53:41 2011 +0000
+++ b/gtk3/dw.c	Sat Mar 26 05:03:40 2011 +0000
@@ -7077,17 +7077,18 @@
    DW_MUTEX_LOCK;
    if(dest)
       cr = gdk_cairo_create(gtk_widget_get_window(dest));
-#if 0 /* TODO */
    else if(destp)
-      gc = gdk_gc_new(destp->pixbuf);
-#endif
+      cr = cairo_create(destp->image);
       
    if(cr)
    {
       if(src)
          gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xsrc, 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_destroy(cr);