Freigeben über


DD_BLTDATA-Struktur (ddrawint.h)

Die DD_BLTDATA-Struktur enthält die für den Treiber relevanten Informationen für die Durchführung von Bitblockübertragungen.

Syntax

typedef struct _DD_BLTDATA {
  PDD_DIRECTDRAW_GLOBAL lpDD;
  PDD_SURFACE_LOCAL     lpDDDestSurface;
  RECTL                 rDest;
  PDD_SURFACE_LOCAL     lpDDSrcSurface;
  RECTL                 rSrc;
  DWORD                 dwFlags;
  DWORD                 dwROPFlags;
  DDBLTFX               bltFX;
  HRESULT               ddRVal;
  VOID                  *Blt;
  BOOL                  IsClipped;
  RECTL                 rOrigDest;
  RECTL                 rOrigSrc;
  DWORD                 dwRectCnt;
  LPRECT                prDestRects;
  DWORD                 dwAFlags;
  DDARGB                ddargbScaleFactors;
} *PDD_BLTDATA, DD_BLTDATA;

Member

lpDD

Verweist auf eine DD_DIRECTDRAW_GLOBAL-Struktur , die das Gerät des Treibers beschreibt.

lpDDDestSurface

Zeigt auf die DD_SURFACE_LOCAL-Struktur , die die Oberfläche beschreibt, auf der gespalten werden soll.

rDest

lpDDSrcSurface

Zeigt auf eine DD_SURFACE_LOCAL-Struktur, die die Quelloberfläche beschreibt.

rSrc

dwFlags

Gibt eine Reihe von Flags an, die den Typ des auszuführenden Blitvorgangs angeben und welche zugeordneten Strukturmember gültige Daten aufweisen, die der Treiber verwenden soll. Dieses Element ist ein bitweiser OR mit einem der folgenden Flags:

Flag Bedeutung
DDBLT_ASYNC Führen Sie diesen Vorgang asynchron durch das FIFO in der empfangenen Reihenfolge aus. Wenn kein Raum in der Hardware-FIFO vorhanden ist, sollte der Treiber den Anruf nicht ausführen und sofort zurückkehren.
DDBLT_COLORFILL Verwenden Sie den dwFillColor-Member in der DDBLTFX-Struktur (definiert in der Microsoft DirectDraw SDK-Dokumentation) als RGB-Farbe, mit der das Zielrechteck auf der Zieloberfläche gefüllt werden soll.
DDBLT_DDFX Verwenden Sie das dwDDFX-Element in der DDBLTFX-Struktur (definiert in der DirectDraw SDK-Dokumentation), um die Auswirkungen zu bestimmen, die für den blit verwendet werden sollen.
DDBLT_DDROPS Dieses Flag ist für die Systemverwendung reserviert und sollte vom Treiber ignoriert werden. Der Treiber sollte auch das dwDDROPS-Element der DDBLTFX-Struktur ignorieren.
DDBLT_EXTENDED_FLAGS
Nur Microsoft DirectX 9.0 und höhere Versionen.
Legen Sie von der Runtime fest, um den Treiber anweisen, bestimmte Flags in dwFlags aus ihren Bedeutungen in DirectX 8.1 und früheren Versionen neu zu interpretieren. Die Runtime kombiniert DDBLT_EXTENDED_FLAGS mit DDBLT_Xxx-Flags mithilfe eines bitweisen OR, um DDBLT_EXTENDED_Xxx-Flags zu erstellen.
DDBLT_EXTENDED_LINEAR_CONTENT
Nur Microsoft DirectX 9.0 und höhere Versionen.
Erstellt durch die bitweise OR-Kombination aus DDBLT_EXTENDED_FLAGS und dem 0x00000004 Bit.
Gibt an, dass die Quelloberfläche Inhalte in einem linearen Farbraum enthält. Der Treiber kann dann gamma 2.2-Korrektur (sRGB) im Desktopfarbraum als Teil des blt durchführen.
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Nur Microsoft DirectX 9.0 und höhere Versionen.
Nur NT-basierte Betriebssysteme.
Erstellt durch die bitweise OR-Kombination aus DDBLT_EXTENDED_FLAGS und dem 0x00000010 Bit.
Legen Sie fest, ob die Runtime anschließend die DDBLT_PRESENTATION- und DDBLT_LAST_PRESENTATION-Flags verwendet, um eine Reihe von Stretch-Blit-Vorgängen aufgrund eines Present-Aufrufs durch eine Anwendung anzufordern.
Benachrichtigt den Treiber über den gesamten rechteckigen Quell- und Zielbereich, bevor der Treiber die tatsächlichen subrechteckigen Bereiche für Blits empfängt. Auf diese Weise kann der Treiber den Stretchfaktor für alle nachfolgenden Blits bis einschließlich des Blits mit dem DDBLT_LAST_PRESENTATION Flag set berechnen und aufzeichnen. Wenn der Treiber jedoch einen Blit mit dem DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR-Flags erhält, darf der Treiber diese nicht abgeschnittenen rechteckigen Bereiche nicht verwenden, um eine tatsächliche Abschneidung zu machen.
Nachdem der Fahrer den letzten Strich mit dem DDBLT_LAST_PRESENTATION-Flag abgeschlossen hat, sollte der Treiber den Stretchfaktordatensatz löschen, um Störungen bei nachfolgenden Blits zu vermeiden.
.
DDBLT_KEYDESTOVERRIDE Verwenden Sie den dckDestColorkey-Member in der DDBLTFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Farbschlüssel für die Zieloberfläche. Wenn keine Überschreibung festgelegt wird, enthält dckDestColorkey nicht den Farbschlüssel. Der Treiber sollte die Oberfläche selbst testen.
DDBLT_KEYSRCOVERRIDE Verwenden Sie den dckSrcColorkey-Member in der DDBLTFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Farbschlüssel für die Quelloberfläche. Wenn keine Überschreibung festgelegt wird, enthält dckDestColorkey nicht den Farbschlüssel. Der Treiber sollte die Oberfläche selbst testen.
DDBLT_LAST_PRESENTATION
Nur DirectX 8.0 und höhere Versionen.
Legen Sie fest, wenn die Runtime aufgrund eines Present-Aufrufs durch eine Anwendung einen letzten Blit-Vorgang anfordert.
DDBLT_PRESENTATION
Nur DirectX 8.0 und höhere Versionen.
Legen Sie fest, wenn die Runtime einen Blit-Vorgang aufgrund eines Present-Aufrufs durch eine Anwendung anfordert.
DDBLT_ROP Verwenden Sie das dwROP-Element in der DDBLTFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) für den Rastervorgang für diesen blit. Derzeit ist SRCCOPY der einzige an den Treiber übergebene ROP . Dieser ROP ist mit dem in der Win32-API definierten ROP identisch. Weitere Informationen finden Sie in der Microsoft Windows SDK-Dokumentation.
DDBLT_ROTATIONANGLE Dieses Flag wird unter Windows 2000 und höher nicht unterstützt und sollte vom Treiber ignoriert werden.
DDBLT_WAIT Geben Sie nicht sofort mit der DDERR_WASSTILLDRAWING Nachricht zurück, wenn der Blitter ausgelastet ist. Warten Sie, bis der Blit eingerichtet werden kann oder ein anderer Fehler auftritt.

dwROPFlags

Unter Windows 2000 und höher nicht verwendet und sollte vom Treiber ignoriert werden.

bltFX

#########

#######

ddRVal

Gibt den Speicherort an, an dem der Treiber den Rückgabewert des DdBlt-Rückrufs schreibt. Ein Rückgabecode von DD_OK zeigt den Erfolg an. Weitere Informationen finden Sie unter Rückgabewerte für DirectDraw.

Blt

Wird von der DirectDraw-API verwendet und sollte nicht vom Treiber ausgefüllt werden.

IsClipped

Gibt an, ob es sich um einen abgeschneidten Spalt handelt. Unter Windows 2000 und höher ist dieser Member immer FALSE, was angibt, dass der Spalt nicht geknappt ist.

rOrigDest

Für Windows 2000 und höher nicht verwendet. Gibt eine RECTL-Struktur an, die das nicht beklammerte Zielrechteck definiert. Dieser Member ist nur gültig, wenn IsClippedTRUE ist.

rOrigSrc

Für Windows 2000 und höher nicht verwendet. Gibt eine RECTL-Struktur an, die das entklammerte Quellrechteck definiert. Dieser Member ist nur gültig, wenn IsClippedTRUE ist.

dwRectCnt

Für Windows 2000 und höher nicht verwendet.Gibt die Anzahl der Zielrechtecke an, auf die prDestRects verweist. Dieser Member ist nur gültig, wenn IsClippedTRUE ist.

prDestRects

Für Windows 2000 und höher nicht verwendet. Zeigt auf ein Array von RECTL-Strukturen, die Zielrechtecke beschreiben. Dieser Member ist nur gültig, wenn IsClippedTRUE ist.

dwAFlags

Nicht verwendet und sollte vom Treiber ignoriert werden.

ddargbScaleFactors

ARGB-Skalierungsfaktoren (AlphaBlt)

Hinweise

Weitere Informationen zu den DDBLT_PRESENTATION- und DDBLT_LAST_PRESENTATION-Flags finden Sie unter Präsentation.

Anforderungen

Anforderung Wert
Header ddrawint.h (include Winddi.h)

Weitere Informationen

DdBlt