1 #ifndef __render_surface_h
2 #define __render_surface_h
9 struct RrNonPlanarSurface {
14 struct RrPlanarSurface planar;
15 struct RrNonPlanarSurface nonplanar;
19 struct RrInstance *inst;
21 enum RrSurfaceType type;
22 union RrSurfaceData data;
24 /* This member is created inside Render if parent != NULL, but is passed
25 in if parent == NULL and should not be destroyed!
27 Always check for this to be None before rendering it. Just skip by
28 (and assert) if it is None.
30 Window win; /* XXX this can optionally be None if parent != NULL ... */
37 struct RrTexture *texture;
39 struct RrSurface *parent;
51 struct RrTexture *RrSurfaceTexture(struct RrSurface *sur, int texnum);
53 #define RrSurfaceInstance(sur) ((sur)->inst)
54 #define RrSurfaceType(sur) ((sur)->type)
56 #define RrSurfaceParent(sur) ((sur)->parent)
58 #define RrSurfaceX(sur) ((sur)->x)
59 #define RrSurfaceY(sur) ((sur)->y)
60 #define RrSurfaceWidth(sur) ((sur)->w)
61 #define RrSurfaceHeight(sur) ((sur)->h)
63 #define RrSurfaceChildren(sur) ((sur)->children)