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


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

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

DdUpdateOverlay