структура DD_UPDATEOVERLAYDATA (ddrawint.h)
Структура DD_UPDATEOVERLAYDATA содержит сведения, необходимые для обновления поверхности наложения.
Синтаксис
typedef struct _DD_UPDATEOVERLAYDATA {
PDD_DIRECTDRAW_GLOBAL lpDD;
PDD_SURFACE_LOCAL lpDDDestSurface;
RECTL rDest;
PDD_SURFACE_LOCAL lpDDSrcSurface;
RECTL rSrc;
DWORD dwFlags;
DDOVERLAYFX overlayFX;
HRESULT ddRVal;
VOID *UpdateOverlay;
} *PDD_UPDATEOVERLAYDATA, DD_UPDATEOVERLAYDATA;
Члены
lpDD
Указывает на структуру DD_DIRECTDRAW_GLOBAL , описывающую устройство драйвера.
lpDDDestSurface
Указывает на структуру DD_SURFACE_LOCAL , представляющую наложенную поверхность Microsoft DirectDraw. Это значение может иметь значение NULL , если DDOVER_HIDE указано в dwFlags.
rDest
Задает структуру RECTL , содержащую значения x, y, ширины и высоты области, наложенной на конечную поверхность.
lpDDSrcSurface
Указывает на структуру DD_SURFACE_LOCAL, описывающую поверхность наложения.
rSrc
Задает структуру RECTL, содержащую x, y, ширину и высоту области на исходной поверхности, которая будет использоваться для наложения.
dwFlags
Указывает, как драйвер должен обрабатывать наложение. Этот элемент может быть сочетанием любого из следующих флагов:
Flag | Значение |
---|---|
DDOVER_ADDDIRTYRECT | Должен игнорироваться драйвером. |
DDOVER_AUTOFLIP | Драйвер должен автоматически подмыкать наложение всякий раз, когда аппаратный видеопорт автоматически слипает. Драйверам, поддерживающим расширения видеопорта (VPE), нужно только проверка этого флага. |
DDOVER_BOB | Драйвер должен отображать каждое поле данных объекта VPE по отдельности, не вызывая никаких артефактов дрожания. Этот флаг относится как к VPE, так и к декодерам, которые хотят выполнять собственные перелистывания в режиме ядра с помощью функции транспорта видео в режиме ядра. |
DDOVER_BOBHARDWARE | Указывает, что bob выполняется оборудованием, а не программным обеспечением или эмуляцией. Драйверы, поддерживающие VPE, должны только проверка этот флаг. |
DDOVER_DDFX | Драйвер должен отобразить поверхность наложения, используя атрибуты, заданные элементом overlayFX . |
DDOVER_HIDE | Драйвер должен скрыть наложение; то есть драйвер должен отключить это наложение. |
DDOVER_INTERLEAVED | Поверхность наложения состоит из полей с чередованием. Драйверы, поддерживающие VPE, должны только проверка этот флаг. |
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 | Драйвер должен отобразить наложение; то есть драйвер должен включить это наложение. |
overlayFX
Указывает структуру DDOVERLAYFX (описанную в документации по пакету SDK DirectDraw), которая описывает дополнительные эффекты, которые драйвер должен использовать для обновления наложения. Драйвер должен использовать эту структуру, только если в элементе dwFlags задано одно из DDOVER_DDFX, DDOVER_KEYDESTOVERRIDE или DDOVER_KEYSRCOVERRIDE.
ddRVal
Указывает расположение, в которое драйвер записывает возвращаемое значение обратного вызова DdUpdateOverlay . Код возврата DD_OK указывает на успешное выполнение. Дополнительные сведения см. в разделе Возвращаемые значения для DirectDraw.
UpdateOverlay
Используется API DirectDraw и не должен заполняться драйвером.
Требования
Верхняя часть | ddrawint.h (включая Winddi.h) |