Структура DDSURFACEDESC (ddraw.h)

Структура DDSURFACEDESC содержит описание поверхности, создаваемой драйвером.

Синтаксис

typedef struct _DDSURFACEDESC {
  DWORD         dwSize;
  DWORD         dwFlags;
  DWORD         dwHeight;
  DWORD         dwWidth;
#if ...
  union {
    LONG  lPitch;
    DWORD dwLinearSize;
  } DUMMYUNIONNAMEN;
  DWORD         dwBackBufferCount;
#else
  union {
    DWORD dwMipMapCount;
    DWORD dwZBufferBitDepth;
    DWORD dwRefreshRate;
  } DUMMYUNIONNAMEN;
#endif
  DWORD         dwAlphaBitDepth;
  DWORD         dwReserved;
  LPVOID        lpSurface;
  DDCOLORKEY    ddckCKDestOverlay;
  DDCOLORKEY    ddckCKDestBlt;
  DDCOLORKEY    ddckCKSrcOverlay;
  DDCOLORKEY    ddckCKSrcBlt;
  DDPIXELFORMAT ddpfPixelFormat;
  DDSCAPS       ddsCaps;
} *LPDDSURFACEDESC, DDSURFACEDESC;

Члены

dwSize

Задает размер данной структуры DDSURFACEDESC в байтах. Этот элемент необходимо инициализировать перед использованием структуры.

dwFlags

Задает набор флагов, определяющих, какие элементы структуры DDSURFACEDESC содержат допустимые данные. Этот элемент может быть одним или несколькими из следующих флагов:

Flag Значение

DDSD_ALL

Все входные элементы содержат допустимые данные.

DDSD_ALPHABITDEPTH

Допустимый член dwAlphaBitDepth .

DDSD_BACKBUFFERCOUNT

Допустимый член dwBackBufferCount .

DDSD_CAPS

Допустимый член ddsCaps .

DDSD_CKDESTBLT

Допустимый член ddckCKDestBlt .

DDSD_CKDESTOVERLAY

Допустимый элемент ddckCKDestOverlay .

DDSD_CKSRCBLT

Допустимый член ddckCKSrcBlt .

DDSD_CKSRCOVERLAY

Допустимый член ddckCKSrcOverlay .

DDSD_HEIGHT

Допустимый член dwHeight .

DDSD_LINEARSIZE

Допустимый член dwLinearSize .

DDSD_MIPMAPCOUNT

Член dwMipMapCount является допустимым.

DDSD_PITCH

Допустимый элемент lPitch .

DDSD_PIXELFORMAT

Допустимый элемент ddpfPixelFormat .

DDSD_REFRESHRATE

Допустимый элемент dwRefreshRate .

DDSD_WIDTH

Член dwWidth является допустимым .

DDSD_ZBUFFERBITDEPTH

Допустимый член dwZBufferBitDepth .

dwHeight

Задает высоту поверхности в пикселях.

dwWidth

Задает ширину поверхности в пикселях.

DUMMYUNIONNAMEN

Н/Д

DUMMYUNIONNAMEN.lPitch

Указывает количество байтов между началами двух смежных строк сканирования; то есть число байтов, добавляемых к начальнму адресу одной строки сканирования, чтобы достичь начального адреса следующей строки сканирования под ней. Обратный вызов DdCreateSurface драйвера должен возвращать это значение.

DUMMYUNIONNAMEN.dwLinearSize

Задает размер в байтах бесформенной, выделенной с опозданием оптимизированной поверхности.

dwBackBufferCount

Указывает количество задних буферов, связанных с поверхностью.

DUMMYUNIONNAMEN.dwMipMapCount

Указывает количество уровней MIP-карты.

DUMMYUNIONNAMEN.dwZBufferBitDepth

Задает глубину z-буфера в битах на пиксель.

DUMMYUNIONNAMEN.dwRefreshRate

Указывает частоту обновления в герцах монитора (используется при описании режима отображения).

dwAlphaBitDepth

Задает глубину альфа-буфера в битах на пиксель.

dwReserved

Зарезервировано, и должно быть равно нулю.

lpSurface

Указывает адрес связанной контактной памяти.

ddckCKDestOverlay

Задает ключ цвета для использования наложения назначения.

ddckCKDestBlt

Задает ключ цвета для целевого использования blt.

ddckCKSrcOverlay

Задает ключ цвета для использования исходного наложения.

ddckCKSrcBlt

Задает ключ цвета для исходного использования blt.

ddpfPixelFormat

Задает структуру DDPIXELFORMAT , описывающую формат пикселей поверхности.

ddsCaps

Задает структуру DDSCAPS , содержащую возможности поверхности Microsoft DirectDrawMicrosoft.

Комментарии

Соответствующие элементы различаются для каждого потенциального типа поверхности. Эта структура обычно создается и инициализируется приложением.

Требования

   
Верхняя часть ddraw.h

См. также раздел