1 #ifndef __render_surface_h
2 #define __render_surface_h
8 struct RrNonPlanarSurface {
13 struct RrPlanarSurface planar;
14 struct RrNonPlanarSurface nonplanar;
18 struct RrInstance *inst;
20 enum RrSurfaceType type;
21 union RrSurfaceData data;
23 /* This member is created inside Render if parent != NULL, but is passed
24 in if parent == NULL and should not be destroyed!
26 Always check for this to be None before rendering it. Just skip by
27 (and assert) if it is None.
29 Window win; /* XXX this can optionally be None if parent != NULL ... */
32 struct RrTexture *texture;
34 struct RrSurface *parent;
44 struct RrTexture *RrSurfaceTexture(struct RrSurface *sur, int texnum);
46 #define RrSurfaceInstance(sur) ((sur)->inst)
47 #define RrSurfaceType(sur) ((sur)->type)
49 #define RrSurfaceParent(sur) ((sur)->parent)
51 #define RrSurfaceX(sur) ((sur)->x)
52 #define RrSurfaceY(sur) ((sur)->y)
53 #define RrSurfaceWidth(sur) ((sur)->w)
54 #define RrSurfaceHeight(sur) ((sur)->h)