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


Метод IDirectDrawSurface7::UpdateOverlay (ddraw.h)

Изменяет положение или изменение визуальных атрибутов поверхности наложения. Для этих поверхностей должен быть установлен флаг DDSCAPS_OVERLAY.

Синтаксис

HRESULT UpdateOverlay(
  [in] LPRECT               unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2,
  [in] LPRECT               unnamedParam3,
  [in] DWORD                unnamedParam4,
  [in] LPDDOVERLAYFX        unnamedParam5
);

Параметры

[in] unnamedParam1

Указатель на структуру RECT , которая определяет x, y, ширину и высоту области на исходной поверхности, используемой в качестве наложения. Этот параметр может иметь значение NULL, чтобы скрыть наложение или указать, что будет использоваться вся поверхность наложения и что поверхность наложения соответствует любым ограничениям границы и выравнивания размера, налагаемым драйвером устройства.

[in] unnamedParam2

Указатель на интерфейс IDirectDrawSurface7 для наложенного объекта DirectDrawSurface.

[in] unnamedParam3

Указатель на структуру RECT , определяющую ширину x и высоту (y) области на целевой поверхности, в которую должно быть перемещено наложение. Этот параметр может иметь значение NULL, чтобы скрыть наложение.

[in] unnamedParam4

Сочетание следующих флагов, определяющих обновление наложения:

DDOVER_ADDDIRTYRECT

Добавляет грязное прямоугольник к эмулированной поверхности наложения.

DDOVER_ALPHADEST

Является устаревшей.

DDOVER_ALPHADESTCONSTOVERRIDE

Использует член dwAlphaDestConst структуры DDOVERLAYFX в качестве целевого альфа-канала для этого наложения.

DDOVER_ALPHADESTNEG

Указывает, что конечная поверхность становится более прозрачной по мере увеличения альфа-значения (0 — непрозрачная).

DDOVER_ALPHADESTSURFACEOVERRIDE

Использует элемент lpDDSAlphaDest структуры DDOVERLAYFX в качестве назначения альфа-канала для этого наложения.

DDOVER_ALPHAEDGEBLEND

Использует элемент dwAlphaEdgeBlend структуры DDOVERLAYFX в качестве альфа-канала для краев изображения, граничащего с цветами ключа цвета.

DDOVER_ALPHASRC

Использует альфа-данные в формате пикселей или поверхность альфа-канала, прикрепленную к исходной поверхности, в качестве исходного альфа-канала для этого наложения.

DDOVER_ALPHASRCCONSTOVERRIDE

Использует элемент dwAlphaSrcConst структуры DDOVERLAYFX в качестве исходного альфа-канала для этого наложения.

DDOVER_ALPHASRCNEG

Указывает, что поверхность источника становится более прозрачной по мере увеличения альфа-значения (0 — непрозрачная).

DDOVER_ALPHASRCSURFACEOVERRIDE

Использует элемент lpDDSAlphaSrc структуры DDOVERLAYFX в качестве источника альфа-канала для этого наложения.

DDOVER_ARGBSCALEFACTORS

Новые возможности для DirectX 7.0. Указывает, что структура DDOVERLAYFX содержит допустимые коэффициенты масштабирования ARGB.

DDOVER_AUTOFLIP

Автоматически переключается на следующую поверхность в цепочке переворачивания каждый раз при возникновении видеопорта VSYNC.

DDOVER_BOB

Отображает каждое поле чередующегося видеопотока по отдельности без отображения артефактов.

DDOVER_BOBHARDWARE

Операции Bob выполняются с помощью оборудования, а не программного обеспечения или эмуляции. Этот флаг должен использоваться с флагом DDOVER_BOB.

DDOVER_DDFX

Использует флаги наложения FX в параметре lpDDOverlayFx для определения специальных эффектов наложения.

DDOVER_DEGRADEARGBSCALING

Новые возможности для DirectX 7.0. Коэффициенты масштабирования ARGB могут быть снижены в соответствии с возможностями драйвера.

DDOVER_HIDE

Отключает это наложение.

DDOVER_INTERLEAVED

Поверхностная память состоит из чередуемых полей.

DDOVER_KEYDEST

Использует цветной ключ, связанный с областью назначения.

DDOVER_KEYDESTOVERRIDE

Использует элемент dckDestColorkey структуры DDOVERLAYFX в качестве ключа цвета для области назначения.

DDOVER_KEYSRC

Использует ключ цвета, связанный с исходной поверхностью.

DDOVER_KEYSRCOVERRIDE

Использует элемент dckSrcColorkey структуры DDOVERLAYFX в качестве ключа цвета для исходной поверхности.

DDOVER_OVERRIDEBOBWEAVE

Решения Боба и ткать не должны переопределяться другими интерфейсами.

DDOVER_REFRESHALL

Перерисовывает всю поверхность на эмулированной наложенной поверхности.

DDOVER_REFRESHDIRTYRECTS

Перерисовывает все грязное прямоугольники на эмулированной поверхности.

DDOVER_SHOW

Включает это наложение.

[in] unnamedParam5

Указатель на структуру DDOVERLAYFX , описывающую используемые эффекты. Может иметь значение NULL, если флаг DDOVER_DDFX не указан.

Возвращаемое значение

Если метод выполнен успешно, возвращаемое значение будет DD_OK.

В случае сбоя метод может вернуть одно из следующих значений ошибки:

  • DDERR_DEVICEDOESNTOWNSURFACE
  • DDERR_GENERIC
  • DDERR_HEIGHTALIGN
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDRECT
  • DDERR_INVALIDSURFACETYPE
  • DDERR_NOSTRETCHHW
  • DDERR_NOTAOVERLAYSURFACE
  • DDERR_OUTOFCAPS
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED
  • DDERR_XALIGN

Требования

Требование Значение
Целевая платформа Windows
Header ddraw.h
Библиотека Ddraw.lib
DLL Ddraw.dll

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

IDirectDrawSurface7