cairo_surface_t	*generic_src,
cairo_pattern_t	*pattern,
_cairo_image_surface_composite_trapezoids (cairo_operator_t	operator,					   cairo_surface_t	*generic_src,					   void			*abstract_dst,					   int			x_src,					   int			y_src,					   cairo_trapezoid_t	*traps,					   int			num_traps){    cairo_image_surface_t *dst = abstract_dst;    cairo_image_surface_t *src = (cairo_image_surface_t *) generic_src;    if (generic_src->backend != dst->base.backend)	return CAIRO_INT_STATUS_UNSUPPORTED;    /* XXX: The pixman_trapezoid_t cast is evil and needs to go away somehow. */    pixman_composite_trapezoids (operator, src->pixman_image, dst->pixman_image,				 x_src, y_src, (pixman_trapezoid_t *) traps, num_traps);    return CAIRO_STATUS_SUCCESS;}