DDSCAPS
The DDSCAPS structure defines the capabilities of a DirectDrawSurface object. This structure is part of the DDCAPS and DDSURFACEDESC structures.
typedef struct _DDSCAPS{
DWORD dwCaps;
} DDSCAPS, FAR* LPDDSCAPS;
Members
- dwCaps
- Capabilities of the surface. One or more of the following flags:
- DDSCAPS_3D
- Unsupported. Use DDSCAPS_3DDEVICE, instead.
- DDSCAPS_3DDEVICE
- This surface can be used for 3-D rendering. Applications can use this flag to ensure that a device that can render only to a certain heap has allocated from the correct heap. If this flag is set for a heap, the surface is not allocated from that heap.
- DDSCAPS_ALLOCONLOAD
- Not used.
- DDSCAPS_ALPHA
- This surface contains alpha-only information.
- DDSCAPS_BACKBUFFER
- This surface is the of a surface flipping structure. Typically, this capability is set by the CreateSurface method when the DDSCAPS_FLIP flag is used. Only the surface that immediately precedes the DDSCAPS_FRONTBUFFER surface 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 CreateSurface method, a stand-alone back buffer is being created. After this method is called, this surface could be attached to a , another back buffer, or both to form a structure. For more information, see IDirectDrawSurface7::AddAttachedSurface. DirectDraw supports any number of surfaces in a flipping structure.
- DDSCAPS_COMPLEX
- A is being described. A complex surface results in the creation of more than one surface. The additional surfaces are attached to the root surface. The complex surface can be destroyed only by destroying the root.
- DDSCAPS_FLIP
- This surface is a part of a surface flipping structure. When this capability is passed to the CreateSurface method, a and one or more are created. DirectDraw sets the DDSCAPS_FRONTBUFFER bit on the front-buffer surface and the DDSCAPS_BACKBUFFER bit on the surface adjacent to the front-buffer surface. The dwBackBufferCount member of the DDSURFACEDESC structure must be set to at least 1 for the method call to succeed. The DDSCAPS_COMPLEX capability must always be set when creating multiple surfaces by using the CreateSurface method.
- DDSCAPS_FRONTBUFFER
- This surface is the of a surface flipping structure. This flag is typically set by the CreateSurface method when the DDSCAPS_FLIP capability is set. If this capability is sent to the CreateSurface method, a stand-alone front buffer is created. This surface does not have the DDSCAPS_FLIP capability. It can be attached to to form a flipping structure by using IDirectDrawSurface7::AddAttachedSurface.
- DDSCAPS_HWCODEC
- This surface can have a stream decompressed to it by the hardware.
- DDSCAPS_LIVEVIDEO
- This surface can receive live video.
- DDSCAPS_LOCALVIDMEM
- This surface exists in true, local video memory, rather than nonlocal video memory. If this flag is specified, DDSCAPS_VIDEOMEMORY must be specified, as well. This flag cannot be used with the DDSCAPS_NONLOCALVIDMEM flag.
- DDSCAPS_MIPMAP
- This surface is one level of a . This surface is attached to other DDSCAPS_MIPMAP surfaces to form the mipmap. This can be done explicitly by creating a number of surfaces and attaching them by using the IDirectDrawSurface7::AddAttachedSurface method, or implicitly by the CreateSurface method. If this capability is set, DDSCAPS_TEXTURE must also be set.
- DDSCAPS_MODEX
- This surface is a 320×200 or 320×240 surface.
- DDSCAPS_NONLOCALVIDMEM
- This surface exists in nonlocal video memory, rather than true, local video memory. If this flag is specified, the DDSCAPS_VIDEOMEMORY flag must be specified, as well. This cannot be used with the DDSCAPS_LOCALVIDMEM flag.
- DDSCAPS_OFFSCREENPLAIN
- This surface is any that is not an overlay, texture, z-buffer, front-buffer, back-buffer, or alpha surface. It is used to identify plain surfaces.
- DDSCAPS_OPTIMIZED
- Not currently implemented.
- DDSCAPS_OVERLAY
- This surface is an overlay. It might or might not be directly visible, depending on whether it is currently being overlaid onto the . DDSCAPS_VISIBLE can be used to determine if it is currently being overlaid.
- DDSCAPS_OWNDC
- This surface has a device context (DC) association for a long period of time.
- DDSCAPS_PALETTE
- This device driver allows unique DirectDrawPalette objects to be created and attached to this surface.
- DDSCAPS_PRIMARYSURFACE
- The surface is the . It represents what is currently visible.
- DDSCAPS_STANDARDVGAMODE
- This surface is a standard VGA mode surface, and not a Mode X surface. This flag cannot be used in combination with the DDSCAPS_MODEX flag.
- DDSCAPS_SYSTEMMEMORY
- This surface memory was allocated in system memory.
- DDSCAPS_TEXTURE
- This surface can be used as a 3-D texture. It does not indicate whether the surface is currently being used for that purpose.
- DDSCAPS_VIDEOMEMORY
- This surface exists in display memory.
- DDSCAPS_VIDEOPORT
- This surface can receive data from a video port.
- DDSCAPS_VISIBLE
- Changes made to this surface are immediately visible. It is always set for the , as well as for overlays while they are being overlaid and texture maps while they are being textured.
- DDSCAPS_WRITEONLY
- Only write access is permitted to the surface. Read access from the surface can cause a general protection (GP) fault, but the read results from this surface would be meaningful.
- DDSCAPS_ZBUFFER
- 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.
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in ddraw.h.