comparison 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
comparison
equal deleted inserted replaced
815:c1e93dd575a5 816:916002e29d4c
7075 return; 7075 return;
7076 7076
7077 DW_MUTEX_LOCK; 7077 DW_MUTEX_LOCK;
7078 if(dest) 7078 if(dest)
7079 cr = gdk_cairo_create(gtk_widget_get_window(dest)); 7079 cr = gdk_cairo_create(gtk_widget_get_window(dest));
7080 #if 0 /* TODO */
7081 else if(destp) 7080 else if(destp)
7082 gc = gdk_gc_new(destp->pixbuf); 7081 cr = cairo_create(destp->image);
7083 #endif
7084 7082
7085 if(cr) 7083 if(cr)
7086 { 7084 {
7087 if(src) 7085 if(src)
7088 gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xsrc, ysrc); 7086 gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xsrc, ysrc);
7089 else if(srcp) 7087 else if(srcp)
7088 cairo_set_source_surface (cr, srcp->image, xsrc, ysrc);
7089 #if 0
7090 gdk_cairo_set_source_pixbuf (cr, srcp->pixbuf, xsrc, ysrc); 7090 gdk_cairo_set_source_pixbuf (cr, srcp->pixbuf, xsrc, ysrc);
7091 #endif
7091 7092
7092 cairo_paint(cr); 7093 cairo_paint(cr);
7093 cairo_destroy(cr); 7094 cairo_destroy(cr);
7094 } 7095 }
7095 DW_MUTEX_UNLOCK; 7096 DW_MUTEX_UNLOCK;