1 #ifndef __render_surface_h
2 #define __render_surface_h
10 struct RrNonPlanarSurface {
15 struct RrPlanarSurface planar;
16 struct RrNonPlanarSurface nonplanar;
20 struct RrInstance *inst;
22 enum RrSurfaceType type;
23 union RrSurfaceData data;
25 /* This member is created inside Render if parent != NULL, but is passed
26 in if parent == NULL and should not be destroyed!
28 Always check for this to be None before rendering it. Just skip by
29 (and assert) if it is None.
31 Window win; /* XXX this can optionally be None if parent != NULL ... */
38 struct RrTexture *texture;
40 struct RrSurface *parent;
54 struct RrTexture *RrSurfaceTexture(struct RrSurface *sur, int texnum);
56 #define RrSurfaceInstance(sur) ((sur)->inst)
57 #define RrSurfaceType(sur) ((sur)->type)
59 #define RrSurfaceParent(sur) ((sur)->parent)
61 #define RrSurfaceX(sur) ((sur)->x)
62 #define RrSurfaceY(sur) ((sur)->y)
63 #define RrSurfaceWidth(sur) ((sur)->w)
64 #define RrSurfaceHeight(sur) ((sur)->h)
65 #define RrSurfacePixmap(sur) ((sur)->pixmap)
66 #define RrSurfaceGLXPixmap(sur) ((sur)->glxpixmap)
67 #define RrSurfaceChildren(sur) ((sur)->children)