_cairo_xlib_surface_set_filter (void *abstract_surface, cairo_filter_t filter)
_cairo_xlib_surface_set_filter (cairo_xlib_surface_t *surface, cairo_filter_t	     filter)
_cairo_xlib_surface_set_filter (void *abstract_surface, cairo_filter_t filter){    cairo_xlib_surface_t *surface = abstract_surface;    char *render_filter;    if (!(surface->picture 	  && CAIRO_SURFACE_RENDER_HAS_FILTERS(surface)))	return CAIRO_STATUS_SUCCESS;        switch (filter) {    case CAIRO_FILTER_FAST:	render_filter = FilterFast;	break;    case CAIRO_FILTER_GOOD:	render_filter = FilterGood;	break;    case CAIRO_FILTER_BEST:	render_filter = FilterBest;	break;    case CAIRO_FILTER_NEAREST:	render_filter = FilterNearest;	break;    case CAIRO_FILTER_BILINEAR:	render_filter = FilterBilinear;	break;    default:	render_filter = FilterBest;	break;    }    XRenderSetPictureFilter (surface->dpy, surface->picture,			     render_filter, NULL, 0);    return CAIRO_STATUS_SUCCESS;}