Поделиться через


Структура DDSURFACEDATA (dxmini.h)

Структура DDSURFACEDATA используется DirectDraw для представления поверхности драйверу мини-порта в режиме ядра.

Синтаксис

typedef struct _DDSURFACEDATA {
  DWORD     ddsCaps;
  DWORD     dwSurfaceOffset;
  ULONG_PTR fpLockPtr;
  DWORD     dwWidth;
  DWORD     dwHeight;
  LONG      lPitch;
  DWORD     dwOverlayFlags;
  DWORD     dwOverlayOffset;
  DWORD     dwOverlaySrcWidth;
  DWORD     dwOverlaySrcHeight;
  DWORD     dwOverlayDestWidth;
  DWORD     dwOverlayDestHeight;
  DWORD     dwVideoPortId;
  DWORD     dwFormatFlags;
  DWORD     dwFormatFourCC;
  DWORD     dwFormatBitCount;
  DWORD     dwRBitMask;
  DWORD     dwGBitMask;
  DWORD     dwBBitMask;
  ULONG     dwDriverReserved1;
  ULONG     dwDriverReserved2;
  ULONG     dwDriverReserved3;
  ULONG     dwDriverReserved4;
} DDSURFACEDATA, *LPDDSURFACEDATA;

Члены

ddsCaps

Указывает на структуру DDSCAPS , содержащую возможности создания, используемые для описания поверхности.

dwSurfaceOffset

Задает смещение байтов от начала буфера кадров до начала поверхности. Это поле используется только драйвером мини-порта.

fpLockPtr

Указывает на начало поверхности.

dwWidth

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

dwHeight

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

lPitch

Задает шаг поверхности в байтах.

dwOverlayFlags

Указывает набор флагов, указывающих текущие флаги пользовательского режима DDOVER_Xxx, заданные DdUpdateOverlay. Этот член является побитовой или любого из следующих значений:

Flag Значение
DDOVER_ADDDIRTYRECT Добавьте прямоугольник грязное к эмулированной поверхности.
DDOVER_ALPHADEST Используйте альфа-данные в формате пикселей или поверхность альфа-канала, присоединенную к целевой поверхности, в качестве альфа-канала для этого наложения.
DDOVER_ALPHADESTCONSTOVERRIDE Используйте член dwAlphaDestConst структуры DDOVERLAYFX в качестве целевого альфа-канала для этого наложения. Структура DDOVERLAYFX определена в файле ddraw.h.
DDOVER_ALPHADESTNEG Целевая поверхность становится более прозрачной по мере увеличения альфа-значения (0 непрозрачно).
DDOVER_ALPHADESTSURFACEOVERRIDE Используйте элемент lpDDSAlphaDest структуры DDOVERLAYFX (определенный в документации по пакету SDK DirectDraw) в качестве назначения альфа-канала для этого наложения.
DDOVER_ALPHAEDGEBLEND Используйте элемент dwAlphaEdgeBlend структуры DDOVERLAYFX (определенный в документации по пакету SDK Для DirectDraw) в качестве альфа-канала для краев изображения, граничащее с цветами цветового ключа.
DDOVER_ALPHASRC Используйте альфа-данные в формате пикселей или поверхность альфа-канала, присоединенную к исходной поверхности, в качестве исходного альфа-канала для этого наложения.
DDOVER_ALPHASRCCONSTOVERRIDE Используйте элемент dwAlphaSrcConst структуры DDOVERLAYFX (определенный в документации по пакету SDK DirectDraw) в качестве исходного альфа-канала для этого наложения.
DDOVER_ALPHASRCNEG Поверхность источника становится более прозрачной по мере увеличения альфа-значения (0 непрозрачно).
DDOVER_ALPHASRCSURFACEOVERRIDE Используйте элемент lpDDSAlphaSrc структуры DDOVERLAYFX (определенный в документации по пакету SDK DirectDraw) в качестве источника альфа-канала для этого наложения.
DDOVER_AUTOFLIP Автоматически переключаться на следующую поверхность в цепочке переворачивания каждый раз при возникновении аппаратного видеопорта VSYNC.
DDOVER_BOB Отображение каждого поля чередующегося видеопотока по отдельности без каких-либо артефактов.
DDOVER_BOBHARDWARE Боб выполняется с использованием оборудования, а не программного обеспечения или эмуляции.
DDOVER_DDFX Используйте флаги наложения FX, чтобы определить специальные эффекты наложения.
DDOVER_HIDE Отключите это наложение.
DDOVER_INTERLEAVED Память поверхности состоит из чередуемых полей.
DDOVER_KEYDEST Используйте цветовую клавишу, связанную с областью назначения.
DDOVER_KEYDESTOVERRIDE Используйте элемент dckDestColorkey структуры DDOVERLAYFX (определенный в документации по пакету SDK DirectDraw) в качестве ключа цвета для целевой поверхности.
DDOVER_KEYSRC Используйте цветной ключ, связанный с исходной поверхностью.
DDOVER_KEYSRCOVERRIDE Используйте элемент dckSrcColorkey структуры DDOVERLAYFX (определенный в документации по пакету SDK DirectDraw) в качестве ключа цвета для исходной поверхности.
DDOVER_OVERRIDEBOBWEAVE Решения Bob и плетения не должны быть переопределены другими интерфейсами. Если этот флаг установлен, DirectDraw не позволяет драйверу в режиме ядра использовать функцию передачи видео в режиме ядра для переключения оборудования между режимом bob и плетением.
DDOVER_REFRESHALL Перерисовка всей поверхности на эмулированной поверхности.
DDOVER_REFRESHDIRTYRECTS Перерисуйте все грязное прямоугольники на эмулированной поверхности.
DDOVER_SHOW Включите это наложение.

dwOverlayOffset

Задает смещение байтов от начала буфера кадров до начала наложения. Это поле используется только драйвером мини-порта.

dwOverlaySrcWidth

Задает ширину источника наложения в пикселях. Это поле используется только драйвером мини-порта.

dwOverlaySrcHeight

Задает высоту источника наложения в пикселях. Это поле используется только драйвером мини-порта.

dwOverlayDestWidth

Задает ширину назначения наложения в пикселях. Это поле используется только драйвером мини-порта.

dwOverlayDestHeight

Задает высоту места наложения в пикселях. Это поле используется только драйвером мини-порта.

dwVideoPortId

Если эта поверхность отправляется объектом расширений видеопорта (VPE), это поле указывает идентификатор объекта VPE, целое число в диапазоне (0 – (максимальное число аппаратных видеопортов -1)); В противном случае это поле равно -1.

dwFormatFlags

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

Flag Значение
DDPF_ALPHA Формат пикселей описывает только альфа-поверхность.
DDPF_ALPHAPIXELS Поверхность содержит сведения о альфа-канале в формате пикселей.
DDPF_ALPHAPREMULT Компоненты цвета в пикселе предварительно оммутируются альфа-значением в пикселе. Если этот флаг установлен, необходимо также установить флаг DDPF_ALPHAPIXELS. Если этот флаг не задан, но установлен флаг DDPF_ALPHAPIXELS, то компоненты цвета в формате пикселей не предварительно обрабатываются альфа-каналом. В этом случае компоненты цвета должны быть умножены на альфа-значение во время выполнения операции альфа-смешивания.
DDPF_BUMPDUDV Допустимы данные dUdV карты ударов в формате пикселей.
DDPF_BUMPLUMINANCE Допустимы данные о яркости в формате пикселей. Этот флаг используется при подвешии яркости от поверхностей бамп-карты. Затем битовая маска для части яркости пикселя обозначается элементом dwBumpLuminanceBitCount структуры DDPIXELFORMAT .
DDPF_COMPRESSED Поверхность будет принимать пиксельные данные в указанном формате и сжимать их во время операции записи.
DDPF_FOURCC Код FOURCC является допустимым.
DDPF_LUMINANCE Допустимы данные о яркости в формате пикселей. Этот флаг используется только для яркости или яркости плюс альфа-поверхности; Битовая глубина затем указывается элементом dwLuminanceBitCount структуры DDPIXELFORMAT .
DDPF_PALETTEINDEXED1 Поверхность индексируется 1-битовым цветом.
DDPF_PALETTEINDEXED2 Поверхность индексируется 2-битовым цветом.
DDPF_PALETTEINDEXED4 Поверхность имеет 4-разрядный индекс цвета.
DDPF_PALETTEINDEXED8 Поверхность имеет 8-битовое индексирование цвета.
DDPF_PALETTEINDEXEDTO8 Поверхность имеет 1,2 или 4-разрядный цвет, индексируется в 8-разрядной палитре.
DDPF_RGB Данные RGB в структуре формата пикселей являются допустимыми.
DDPF_RGBTOYUV Поверхность будет принимать данные RGB и преобразовывать их во время операции записи в данные YUV. Формат записываемых данных будет содержаться в структуре формата пикселей. Будет установлен флаг DDPF_RGB.
DDPF_STENCILBUFFER Поверхность содержит сведения о наборе элементов, а также сведения о Z.
DDPF_YUV Данные YUV в структуре формата пикселей являются допустимыми.
DDPF_ZBUFFER Формат пикселей описывает поверхность только для буфера Z.
DDPF_ZPIXELS Поверхность имеет формат RGBZ.

dwFormatFourCC

Указывает код FOURCC .

dwFormatBitCount

Указывает число битов на пиксель (4, 8, 16, 24 или 32).

dwRBitMask

Указывает красную битовую маску.

dwGBitMask

Указывает зеленую битовую маску.

dwBBitMask

Указывает синюю битовую маску.

dwDriverReserved1

Зарезервировано для HAL/Miniport

dwDriverReserved2

Зарезервировано для HAL/Miniport

dwDriverReserved3

Зарезервировано для HAL/Miniport

dwDriverReserved4

Зарезервированы для использования драйвером мини-порта.

Требования

   
Верхняя часть dxmini.h (включая Dxmini.h)

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

DDPIXELFORMAT

DDSCAPS

DdUpdateOverlay