DDSURFACEDESC
The DDSURFACEDESC structure contains a description of a surface. This structure is passed to the IDirectDraw2::CreateSurface method. The relevant members differ for each potential type of surface.
When using the IDirectDraw4 interface, this structure is superseded by the DDSURFACEDESC2 structure.
typedef struct _DDSURFACEDESC {
DWORD dwSize;
DWORD dwFlags;
DWORD dwHeight;
DWORD dwWidth;
union
{
LONG lPitch;
DWORD dwLinearSize;
};
DWORD dwBackBufferCount;
union
{
DWORD dwMipMapCount;
DWORD dwZBufferBitDepth;
DWORD dwRefreshRate;
};
DWORD dwAlphaBitDepth;
DWORD dwReserved;
LPVOID lpSurface;
DDCOLORKEY ddckCKDestOverlay;
DDCOLORKEY ddckCKDestBlt;
DDCOLORKEY ddckCKSrcOverlay;
DDCOLORKEY ddckCKSrcBlt;
DDPIXELFORMAT ddpfPixelFormat;
DDSCAPS ddsCaps;
} DDSURFACEDESC, FAR* LPDDSURFACEDESC;
Members
- dwSize
- Size of the structure, in bytes. This member must be initialized before the structure is used.
- dwFlags
- Optional control flags. One or more of the following flags:
- DDSD_ALL
- Indicates that all input members are valid.
- DDSD_ALPHABITDEPTH
- Indicates that the dwAlphaBitDepth member is valid.
- DDSD_BACKBUFFERCOUNT
- Indicates that the dwBackBufferCount member is valid.
- DDSD_CAPS
- Indicates that the ddsCaps member is valid.
- DDSD_CKDESTBLT
- Indicates that the ddckCKDestBlt member is valid.
- DDSD_CKDESTOVERLAY
- Indicates that the ddckCKDestOverlay member is valid.
- DDSD_CKSRCBLT
- Indicates that the ddckCKSrcBlt member is valid.
- DDSD_CKSRCOVERLAY
- Indicates that the ddckCKSrcOverlay member is valid.
- DDSD_HEIGHT
- Indicates that the dwHeight member is valid.
- DDSD_LINEARSIZE
- Indicates that dwLinearSize member is valid.
- DDSD_LPSURFACE
- Indicates that the lpSurface member is valid.
- DDSD_MIPMAPCOUNT
- Indicates that the dwMipMapCount member is valid.
- DDSD_PITCH
- Indicates that the lPitch member is valid.
- DDSD_PIXELFORMAT
- Indicates that the ddpfPixelFormat member is valid.
- DDSD_REFRESHRATE
- Indicates that the dwRefreshRate member is valid.
- DDSD_WIDTH
- Indicates that the dwWidth member is valid.
- DDSD_ZBUFFERBITDEPTH
- Indicates that the dwZBufferBitDepth member is valid.
- dwHeight and dwWidth
- Dimensions of the surface to be created, in pixels.
- lPitch
- Distance, in bytes, to the start of next line. When used with the IDirectDrawSurface4::GetSurfaceDesc method, this is a return value. When creating a surface from existing memory or when calling the IDirectDrawSurface4::SetSurfaceDesc method, this is an input value that must be a DWORD multiple.
- dwLinearSize
- The size of the buffer. Currently returned only for compressed texture surfaces.
- dwBackBufferCount
- Number of back buffers.
- dwMipMapCount
- Number of mipmap levels.
- dwZBufferBitDepth
- Depth of z-buffer. This member is obsolete for DirectX 6.0 and later. Use the IDirect3D3::EnumZBufferFormats to retrieve information about supported depth buffer formats.
- dwRefreshRate
- Refresh rate (used when the display mode is described). The value of 0 indicates an adapter fault.
- dwAlphaBitDepth
- Depth of alpha buffer.
- dwReserved
- Reserved.
- lpSurface
- Address of the associated surface memory. When calling IDirectDrawSurface4::Lock, this member contains a valid pointer to surface memory after the call returns. When creating a surface from existing memory or when using the IDirectDrawSurface4::SetSurfaceDesc method, this member is an input value that is the address of system memory allocated by the calling application. Do not set this member if your application needs DirectDraw to allocate and manage surface memory.
- ddckCKDestOverlay
- DDCOLORKEY structure that describes the destination color key to be used for an overlay surface.
- ddckCKDestBlt
- DDCOLORKEY structure that describes the destination color key for blit operations.
- ddckCKSrcOverlay
- DDCOLORKEY structure that describes the source color key to be used for an overlay surface.
- ddckCKSrcBlt
- DDCOLORKEY structure that describes the source color key for blit operations.
- ddpfPixelFormat
- DDPIXELFORMAT structure that describes the surface's pixel format.
- ddsCaps
- DDSCAPS structure containing the surface's capabilities.
Remarks
This structure is similar to the DDSURFACEDESC2 structure, but contains a DDSCAPS structure as the ddsCaps member, rather than a DDSCAPS2 structure. Unlike DDSURFACEDESC2, this structure contains the dwZBufferBitDepth member.
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.