typedef struct _DDSCAPS{
DWORD dwCaps;
} DDSCAPS, FAR* LPDDSCAPS;
Defines the capabilities of a DirectDrawSurface. It is part of the DDCAPS structure that is used to describe the capabilities of the DirectDraw object.
Specifies the capabilities of the surface.
Supported for backwards compatibility. Applications should use the DDSCAPS_3DDEVICE flag, instead.
Indicates that this surface can be used for 3D rendering. Applications can use this flag to ensure that a device that can only render to a certain heap have off-screen surfaces allocated from the correct heap. If this flag is set for a heap, the surface will not be allocated from that heap.
Indicates that memory for the surface is not allocated until the surface is loaded using the IDirect3DTexture::Load method.
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).
Indicates that this surface is THE back buffer of a surface flipping structure. Generally, this capability is set by the IDirectDraw::CreateSurface method when the DDSCAPS_FLIP capability is set. Only the surface that immediately precedes the DDSCAPS_FRONTBUFFER has this capability set. The other surfaces are identified as back buffers by the presence of the DDSCAPS_FLIP flag, their attachment order, and the absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER capabilities. If this capability is sent to the IDirectDraw::CreateSurface method, a standalone back buffer is being created. This surface could be attached to a front buffer, another back buffer, or both to form a flipping surface structure after this method is called. See the IDirectDrawSurface::AddAttachedSurface method for a detailed description of the behaviors in this case. DirectDraw supports n surfaces in a surface flipping structure.
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.
Indicates that this surface is a part of a surface flipping structure. When this capability is passed to the IDirectDraw::CreateSurface method, the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER capabilities are not set. Both can be set by this method on resulting creations. The dwBackBufferCount member in the DDSURFACEDESC structure must be set to at least 1 in order for the method call to succeed. The DDSCAPS_COMPLEX capability must always be set when creating multiple surfaces through the IDirectDraw::CreateSurface method.
Indicates that this surface is the front buffer of a surface flipping structure. It is generally set by the IDirectDraw::CreateSurface method when the DDSCAPS_FLIP capability is set. If this capability is sent to the IDirectDraw::CreateSurface method, 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 on resulting creations. See the IDirectDrawSurface::AddAttachedSurface method for a detailed description of the behaviors in this case.
Indicates that this surface should be able to have a stream decompressed to it by the hardware.
Indicates that this surface should be able to receive live video.
Indicates that this surface is one level of a mipmap. This surface will be attached to other DDSCAPS_MIPMAP surfaces to form the mipmap. This can be done explicitly by creating a number of surfaces and attaching them with the IDirectDrawSurface::AddAttachedSurface method, or implicitly by the IDirectDraw::CreateSurface method. If this capability is set, then DDSCAPS_TEXTURE must also be set.
Indicates that this surface is a 320 x 200 or 320 x 240 ModeX surface.
Indicates that this surface is any off-screen surface that is not an overlay, texture, z-buffer, front buffer, back buffer, or alpha surface. It is used to identify plain surfaces.
Indicates that this surface is an overlay. It may or may not be directly visible depending on whether it is currently being overlaid onto the primary surface. DDSCAPS_VISIBLE can be used to determine if it is being overlaid at the moment.
Indicates that this surface will have a DC association for a long period.
Indicates that this device driver allows unique DirectDrawPalette objects to be created and attached to this surface.
Indicates the surface is the primary surface. It represents what is visible to the user at the moment.
Indicates that this surface is the primary surface for the left eye. It represents what is visible to the user's left eye at the moment. When this surface is created, the surface with the DDSCAPS_PRIMARYSURFACE capability represents what is seen by the user's right eye.
Indicates that this surface memory was allocated in system memory.
Indicates that this surface can be used as a 3D texture. It does not indicate if the surface is being used for that purpose.
Indicates that this surface exists in display memory.
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 overlaid and texture maps while they are being textured.
Indicates that only write access is permitted to the surface. Read access from the surface may generate a protection fault, but the read results from this surface will not be meaningful.
Indicates that this surface is the z-buffer. The z-buffer contains information that cannot be displayed. Instead, it contains bit-depth information that is used to determine which pixels are visible and which are obscured.