Метод 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 |