#ifndef SURFACE_H #define SURFACE_H #include #include typedef enum _SurfaceFilter { SurfaceNone, SurfaceNearest, SurfaceBilinear, SurfaceConvolution } SurfaceFilter; typedef struct _XRenderSurf { int w, h; int depth; Visual *vis; Drawable draw; Picture pic; int allocated : 1; } XRenderSurf; XRenderSurf *xrender_surf_new(Display *disp, Drawable draw, int w, int h, int alpha, Bool ca); XRenderSurf *xrender_surf_adopt(Display *disp, Drawable draw, int w, int h); void xrender_surf_free(Display *disp, XRenderSurf *rs); void xrender_surf_populate(Display *disp, XRenderSurf *rs, int w, int h, char *img_data); void xrender_surf_prepare(Display *disp, XRenderSurf *src, int w, int h, int transformations, SurfaceFilter filter); void xrender_surf_blend(Display *disp, int op, XRenderSurf *src, XRenderSurf *mask, XRenderSurf *dst, int src_x, int src_y, int mask_x, int mask_y, int dst_x, int dst_y, unsigned int width, unsigned int height); #endif