以下是 DDSURFACEDESC 结构的典型声明:
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, *LPDDSURFACEDESC;
- dwSize: 结构的大小,以字节为单位。
- dwFlags: 描述表面的一些特性的标志。例如,DDSD_CAPS 表示 ddsCaps 字段有效,DDSD_HEIGHT 表示 dwHeight 字段有效,以此类推。
- dwHeight: 表面的高度。
- dwWidth: 表面的宽度。
- lPitch: 表面的行距,即每行像素之间的字节数。
- dwLinearSize: 线性尺寸,用于指定在线性内存中表面的总大小。
- dwBackBufferCount: 后备缓冲区的数量,用于双缓冲等情况。
- dwMipMapCount: MipMap 层级的数量。
- dwZBufferBitDepth: 深度缓冲区的位深度。
- dwRefreshRate: 刷新率。
- dwAlphaBitDepth: Alpha 通道的位深度。
- dwReserved: 保留字段。
- lpSurface: 指向表面的内存地址。
- ddckCKDestOverlay, ddckCKDestBlt, ddckCKSrcOverlay, ddckCKSrcBlt: DDCOLORKEY 结构,用于透明色处理。
- ddpfPixelFormat: DDPIXELFORMAT 结构,描述表面的像素格式。
- ddsCaps: DDSCAPS 结构,描述表面的一些能力和属性,如表面类型、使用途径等。
这个结构在创建和操作 DirectDraw 表面时经常使用,开发人员可以根据应用程序的需求设置结构的字段。请注意,这是 DDSURFACEDESC 结构的较早版本,较新的应用程序可能会使用 DDSURFACEDESC2 结构。
转载请注明出处:http://www.zyzy.cn/article/detail/26521/Win32 API/Ddraw.h/DDSURFACEDESC