Microsoft DirectX 9.0

DDSCAPS Structure

This structure defines the capabilities of DirectDrawSurfaces. It is part of the DDCAPS structure which is used to describe the capabilities of the DirectDraw object.

typedef struct _DDSCAPS{
  WORD  dwCaps;
} DDSCAPS,  FAR* LPDDSCAPS;

Members

dwCaps

Flag Description
DDSCAPS_3D Indicates that this surface is a front buffer, back buffer, or texture map that is being used in conjunction with a 3DDDI or Direct3D HAL.
DDSCAPS_ALPHA Indicates that this surface contains alpha information. The pixel format must be interrogated to determine whether this surface contains only alpha information or alpha information interlaced with pixel color data (such as RGBA or YUVA).
DDSCAPS_BACKBUFFER Indicates that this surface is a backbuffer. It is generally set by CreateSurface when the DDSCAPS_FLIP capability bit is set. It indicates that this surface is THE back buffer of a surface-flipping structure. DirectDraw supports N surfaces in a surface-flipping structure. Only the surface that immediately precedes the DDSCAPS_FRONTBUFFER has this capability bit set. The other surfaces are identified as back buffers by the presence of the DDSCAPS_FLIP capability, their attachment order, and the absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER capabilities. The bit is sent to CreateSurface when a standalone back buffer is being created. This surface could be attached to a front buffer and/or back buffers to form a flipping surface structure after the CreateSurface call. See AddAttachedSurface for a detailed description of the behaviors in this case.
DDSCAPS_COMPLEX Indicates a complex surface structure is being described. A complex surface structure results in the creation of more than one surface. The additional surfaces are attached to the root surface. The complex structure can only be destroyed by destroying the root.
DDSCAPS_FLIP Indicates that this surface is a part of a surface flipping structure. When it is passed to CreateSurface the DDSCAPS_FRONTBUFFER and DDSCAP_BACKBUFFER bits are not set.
DDSCAPS_FRONTBUFFER Indicates that this surface is THE front buffer of a surface flipping structure. It is generally set by CreateSurface when the DDSCAPS_FLIP capability bit is set. If this capability is sent to CreateSurface then a standalone front buffer is created. This surface will not have the DDSCAPS_FLIP capability. It can be attached to other back buffers to form a flipping structure. See AddAttachedSurface for a detailed description of the behaviors in this case.
DDSCAPS_HWCODEC Indicates surface should be able to have a stream decompressed to it by the hardware.
DDSCAPS_LIVEVIDEO Indicates surface should be able to receive live video.
DDSCAPS_MODEX Surface is a 320x200 or 320x240 ModeX surface.
DDSCAPS_OFFSCREENPLAIN Indicates that this surface is any offscreen surface that is not an overlay, texture, zbuffer, front buffer, back buffer, or alpha surface. It is used to identify plain vanilla surfaces.
DDSCAPS_OWNDC Indicates surface will have a DC associated long term.
DDSCAPS_OVERLAY Indicates that this surface is an overlay. It may or may not be directly visible depending on whether or not it is currently being overlayed onto the primary surface. DDSCAPS_VISIBLE can be used to determine whether or not it is being overlayed at the moment.
DDSCAPS_PALETTE Indicates that unique DirectDrawPalette objects can be created and attached to this surface.
DDSCAPS_PRIMARYSURFACE Indicates that this surface is the primary surface. The primary surface represents what the user is seeing at the moment.
DDSCAPS_PRIMARYSURFACELEFT Indicates that this surface is the primary surface for the left eye. The primary surface for the left eye represents what the user is seeing at the moment with the user's left eye. When this surface is created the DDSCAPS_PRIMARYSURFACE represents what the user is seeing with the user's right eye.
DDSCAPS_SYSTEMMEMORY Indicates that this surface memory was allocated in system memory.
DDSCAPS_TEXTUREMAP Indicates that this surface can be used as a 3D texture. It does not indicate whether or not the surface is being used for that purpose.
DDSCAPS_VIDEOMEMORY Indicates that this surface exists in video memory.
DDSCAPS_VISIBLE Indicates that changes made to this surface are immediately visible. It is always set for the primary surface and is set for overlays while they are being overlayed and texture maps while they are being textured.
DDSCAPS_WRITEONLY READ ONLY.
DDSCAPS_ZBUFFER Indicates that this surface is the z buffer. The z buffer does not contain displayable information. Instead, it contains bit depth information that is used to determine which pixels are visible and which are obscured.

See Also