Структура 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) |