_cairo_xlib_surface_set_matrix (void *abstract_surface, cairo_matrix_t *matrix)
_cairo_xlib_surface_set_matrix (cairo_xlib_surface_t *surface, cairo_matrix_t	     *matrix)
_cairo_xlib_surface_set_matrix (void *abstract_surface, cairo_matrix_t *matrix){    cairo_xlib_surface_t *surface = abstract_surface;    XTransform xtransform;    if (!surface->picture)	return CAIRO_STATUS_SUCCESS;    xtransform.matrix[0][0] = _cairo_fixed_from_double (matrix->m[0][0]);    xtransform.matrix[0][1] = _cairo_fixed_from_double (matrix->m[1][0]);    xtransform.matrix[0][2] = _cairo_fixed_from_double (matrix->m[2][0]);    xtransform.matrix[1][0] = _cairo_fixed_from_double (matrix->m[0][1]);    xtransform.matrix[1][1] = _cairo_fixed_from_double (matrix->m[1][1]);    xtransform.matrix[1][2] = _cairo_fixed_from_double (matrix->m[2][1]);    xtransform.matrix[2][0] = 0;    xtransform.matrix[2][1] = 0;    xtransform.matrix[2][2] = _cairo_fixed_from_double (1);    if (CAIRO_SURFACE_RENDER_HAS_PICTURE_TRANSFORM (surface))    {	XRenderSetPictureTransform (surface->dpy, surface->picture, &xtransform);    } else {	/* XXX: Need support here if using an old RENDER without support	   for SetPictureTransform */    }    return CAIRO_STATUS_SUCCESS;}