Carl Worth wrote: > /* Paint using the provided surface as a masking shape. */ > void > cairo_mask_alpha (cairo_t *cr, double alpha); Excellent idea. I think this replaces my suggestion for sepearting the color and source pattern.