0, 0,
x_dst, y_dst,
_cairo_glitz_surface_set_image (void *abstract_surface,				cairo_image_surface_t *image){    cairo_glitz_surface_t *surface = abstract_surface;    glitz_buffer_t *buffer;    glitz_pixel_format_t pf;    pixman_format_t *format;    int am, rm, gm, bm;        format = pixman_image_get_format (image->pixman_image);    if (format == NULL)	return CAIRO_STATUS_NO_MEMORY;    pixman_format_get_masks (format, &pf.masks.bpp, &am, &rm, &gm, &bm);    pf.masks.alpha_mask = am;    pf.masks.red_mask = rm;    pf.masks.green_mask = gm;    pf.masks.blue_mask = bm;    pf.xoffset = 0;    pf.skip_lines = 0;    pf.bytes_per_line = image->stride;    pf.scanline_order = GLITZ_PIXEL_SCANLINE_ORDER_TOP_DOWN;    buffer = glitz_buffer_create_for_data (image->data);    if (!buffer)	return CAIRO_STATUS_NO_MEMORY;        glitz_set_pixels (surface->surface,		      0, 0,		      image->width, image->height,		      &pf,		      buffer);        glitz_buffer_destroy (buffer);        return CAIRO_STATUS_SUCCESS;}