comparison gtk/dw.c @ 1180:4c20df806370

Fixes to that last commit... bitmap not mask and forgot to return.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 19 Sep 2011 22:40:33 +0000
parents ebe0d27f6705
children 76262040ed5f
comparison
equal deleted inserted replaced
1179:ebe0d27f6705 1180:4c20df806370
8484 gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xdest -xsrc, ydest - ysrc); 8484 gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xdest -xsrc, ydest - ysrc);
8485 else 8485 else
8486 #endif 8486 #endif
8487 if(srcp && srcp->image) 8487 if(srcp && srcp->image)
8488 cairo_set_source_surface (cr, srcp->image, xdest - xsrc, ydest - ysrc); 8488 cairo_set_source_surface (cr, srcp->image, xdest - xsrc, ydest - ysrc);
8489 else if(srcp && srcp->pixmap && !srcp->mask) 8489 else if(srcp && srcp->pixmap && !srcp->bitmap)
8490 gdk_cairo_set_source_pixmap (cr, srcp->pixmap, xdest - xsrc, ydest - ysrc); 8490 gdk_cairo_set_source_pixmap (cr, srcp->pixmap, xdest - xsrc, ydest - ysrc);
8491 else if(srcp && srcp->pixmap && srcp->mask) 8491 else if(srcp && srcp->pixmap && srcp->bitmap)
8492 { 8492 {
8493 cairo_pattern_t *mask_pattern; 8493 cairo_pattern_t *mask_pattern;
8494 8494
8495 /* hack to get the mask pattern */ 8495 /* hack to get the mask pattern */
8496 gdk_cairo_set_source_pixmap(cr, srcp->mask, xdest, ydest); 8496 gdk_cairo_set_source_pixmap(cr, srcp->bitmap, xdest, ydest);
8497 mask_pattern = cairo_get_source(cr); 8497 mask_pattern = cairo_get_source(cr);
8498 cairo_pattern_reference(mask_pattern); 8498 cairo_pattern_reference(mask_pattern);
8499 8499
8500 gdk_cairo_set_source_pixmap(cr, srcp->pixmap, xdest - xsrc, ydest - ysrc); 8500 gdk_cairo_set_source_pixmap(cr, srcp->pixmap, xdest - xsrc, ydest - ysrc);
8501 cairo_rectangle(cr, xdest, ydest, width, height); 8501 cairo_rectangle(cr, xdest, ydest, width, height);
8502 cairo_clip(cr); 8502 cairo_clip(cr);
8503 cairo_mask(cr, mask_pattern); 8503 cairo_mask(cr, mask_pattern);
8504 cairo_destroy(cr); 8504 cairo_destroy(cr);
8505 DW_MUTEX_UNLOCK; 8505 DW_MUTEX_UNLOCK;
8506 return;
8506 } 8507 }
8507 8508
8508 cairo_rectangle(cr, xdest, ydest, width, height); 8509 cairo_rectangle(cr, xdest, ydest, width, height);
8509 cairo_fill(cr); 8510 cairo_fill(cr);
8510 cairo_destroy(cr); 8511 cairo_destroy(cr);