Freigeben über


IDirectDrawSurface7::UpdateOverlay-Methode (ddraw.h)

Positioniert oder ändert die visuellen Attribute einer Überlagerungsoberfläche. Für diese Oberflächen muss das flag DDSCAPS_OVERLAY festgelegt sein.

Syntax

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

Parameter

[in] unnamedParam1

Ein Zeiger auf eine RECT-Struktur , die die x-, y-, Breiten- und Höhe des Bereichs auf der Quelloberfläche definiert, die als Überlagerung verwendet wird. Dieser Parameter kann NULL sein, um eine Überlagerung auszublenden oder anzugeben, dass die gesamte Überlagerungsoberfläche verwendet werden soll und dass die Überlagerungsoberfläche allen Vom Gerätetreiber auferlegten Begrenzungs- und Größenausrichtungseinschränkungen entspricht.

[in] unnamedParam2

Ein Zeiger auf die IDirectDrawSurface7-Schnittstelle für das DirectDrawSurface-Objekt, das überlagert wird.

[in] unnamedParam3

Ein Zeiger auf eine RECT-Struktur , die die Breite, x und Höhe y des Bereichs auf der Zieloberfläche definiert, in den die Überlagerung verschoben werden soll. Dieser Parameter kann NULL sein, um die Überlagerung auszublenden.

[in] unnamedParam4

Eine Kombination der folgenden Flags, die das Overlayupdate bestimmen:

DDOVER_ADDDIRTYRECT

Fügt einer emulierten Überlagerungsoberfläche ein modifiziert Rechteck hinzu.

DDOVER_ALPHADEST

Veraltet.

DDOVER_ALPHADESTCONSTOVERRIDE

Verwendet den dwAlphaDestConst-Member der DDOVERLAYFX-Struktur als Ziel-Alphakanal für diese Überlagerung.

DDOVER_ALPHADESTNEG

Gibt an, dass die Zieloberfläche transparenter wird, wenn der Alphawert zunimmt (0 ist undurchsichtig).

DDOVER_ALPHADESTSURFACEOVERRIDE

Verwendet das lpDDSAlphaDest-Element der DDOVERLAYFX-Struktur als Alphakanalziel für diese Überlagerung.

DDOVER_ALPHAEDGEBLEND

Verwendet den dwAlphaEdgeBlend-Member der DDOVERLAYFX-Struktur als Alphakanal für die Ränder des Bilds, die die Farbschlüsselfarben umranden.

DDOVER_ALPHASRC

Verwendet entweder die Alphainformationen im Pixelformat oder die Alphakanaloberfläche, die an die Quelloberfläche angefügt ist, als Quell-Alphakanal für diese Überlagerung.

DDOVER_ALPHASRCCONSTOVERRIDE

Verwendet den dwAlphaSrcConst-Member der DDOVERLAYFX-Struktur als Quell-Alphakanal für diese Überlagerung.

DDOVER_ALPHASRCNEG

Gibt an, dass die Quelloberfläche transparenter wird, wenn der Alphawert zunimmt (0 ist undurchsichtig).

DDOVER_ALPHASRCSURFACEOVERRIDE

Verwendet den lpDDSAlphaSrc-Member der DDOVERLAYFX-Struktur als Alphakanalquelle für diese Überlagerung.

DDOVER_ARGBSCALEFACTORS

Neu für DirectX 7.0. Gibt an, dass die DDOVERLAYFX-Struktur gültige ARGB-Skalierungsfaktoren enthält.

DDOVER_AUTOFLIP

Wird automatisch auf die nächste Oberfläche in der Flipping-Kette gedreht, wenn ein Videoport VSYNC auftritt.

DDOVER_BOB

Zeigt jedes Feld des Interlaced-Videostreams einzeln an, ohne dass Artefakte angezeigt werden.

DDOVER_BOBHARDWARE

Bob-Vorgänge werden mithilfe von Hardware und nicht mithilfe von Software ausgeführt oder emuliert. Dieses Flag muss mit dem flag DDOVER_BOB verwendet werden.

DDOVER_DDFX

Verwendet die FX-Überlagerungsflags im lpDDOverlayFx-Parameter , um spezielle Überlagerungseffekte zu definieren.

DDOVER_DEGRADEARGBSCALING

Neu für DirectX 7.0. ARGB-Skalierungsfaktoren können entsprechend den Treiberfunktionen herabgestuft werden.

DDOVER_HIDE

Deaktiviert diese Überlagerung.

DDOVER_INTERLEAVED

Der Oberflächenspeicher besteht aus überlappenden Feldern.

DDOVER_KEYDEST

Verwendet den Farbschlüssel, der der Zieloberfläche zugeordnet ist.

DDOVER_KEYDESTOVERRIDE

Verwendet den dckDestColorkey-Member der DDOVERLAYFX-Struktur als Farbschlüssel für die Zieloberfläche.

DDOVER_KEYSRC

Verwendet den Farbschlüssel, der der Quelloberfläche zugeordnet ist.

DDOVER_KEYSRCOVERRIDE

Verwendet den dckSrcColorkey-Member der DDOVERLAYFX-Struktur als Farbschlüssel für die Quelloberfläche.

DDOVER_OVERRIDEBOBWEAVE

Bob- und Web-Entscheidungen sollten nicht von anderen Schnittstellen überschrieben werden.

DDOVER_REFRESHALL

Zeichnet die gesamte Oberfläche auf einer emulierten überlagerten Oberfläche neu.

DDOVER_REFRESHDIRTYRECTS

Zeichnet alle modifiziert Rechtecke auf einer emulierten überlagerten Oberfläche neu.

DDOVER_SHOW

Aktiviert diese Überlagerung.

[in] unnamedParam5

Ein Zeiger auf die DDOVERLAYFX-Struktur , die die zu verwendenden Effekte beschreibt. Kann NULL sein, wenn das flag DDOVER_DDFX nicht angegeben ist.

Rückgabewert

Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.

Wenn ein Fehler auftritt, kann die -Methode einen der folgenden Fehlerwerte zurückgeben:

  • 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

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ddraw.h
Bibliothek Ddraw.lib
DLL Ddraw.dll

Weitere Informationen

IDirectDrawSurface7