Partager via


structure DD_BLTDATA (ddrawint.h)

La structure DD_BLTDATA contient les informations pertinentes pour le pilote pour effectuer des transferts de blocs de bits.

Syntaxe

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;

Membres

lpDD

Pointe vers une structure DD_DIRECTDRAW_GLOBAL qui décrit l’appareil du pilote.

lpDDDestSurface

Pointe vers la structure de DD_SURFACE_LOCAL qui décrit la surface sur laquelle prendre une fente.

rDest

lpDDSrcSurface

Pointe vers une structure DD_SURFACE_LOCAL qui décrit la surface source.

rSrc

dwFlags

Indique un ensemble d’indicateurs qui spécifient le type d’opération blit à effectuer et les membres de la structure associés qui ont des données valides que le pilote doit utiliser. Ce membre est un OR au niveau du bit de l’un des indicateurs suivants :

Indicateur Signification
DDBLT_ASYNC Effectuez cette fente de manière asynchrone via le FIFO dans l’ordre reçu. S’il n’existe aucune salle dans le matériel FIFO, le pilote doit échouer l’appel et retourner immédiatement.
DDBLT_COLORFILL Utilisez le membre dwFillColor dans la structure DDBLTFX (définie dans la documentation du Kit de développement logiciel (SDK) Microsoft DirectDraw comme couleur RVB avec laquelle remplir le rectangle de destination sur la surface de destination.
DDBLT_DDFX Utilisez le membre dwDDFX dans la structure DDBLTFX (définie dans la documentation du Kit de développement logiciel (SDK) DirectDraw) pour déterminer les effets à utiliser pour le blit.
DDBLT_DDROPS Cet indicateur est réservé à l’utilisation du système et doit être ignoré par le pilote. Le pilote doit également ignorer le membre dwDDROPS de la structure DDBLTFX.
DDBLT_EXTENDED_FLAGS
Microsoft DirectX 9.0 et versions ultérieures uniquement.
Défini par le runtime pour diriger le pilote à réinterpréter certains indicateurs dans dwFlags à partir de leur signification dans DirectX 8.1 et les versions antérieures. Le runtime combine DDBLT_EXTENDED_FLAGS avec des indicateurs DDBLT_Xxx à l’aide d’une OR au niveau du bit pour créer des indicateurs DDBLT_EXTENDED_Xxx .
DDBLT_EXTENDED_LINEAR_CONTENT
Microsoft DirectX 9.0 et versions ultérieures uniquement.
Créé via la combinaison OR au niveau du bit de DDBLT_EXTENDED_FLAGS et du bit 0x00000004.
Indique que la surface source contient du contenu dans un espace de couleurs linéaire. Le pilote peut ensuite effectuer une correction gamma 2.2 (sRGB) dans l’espace de couleurs du bureau dans le cadre du blt.
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Microsoft DirectX 9.0 et versions ultérieures uniquement.
Systèmes d’exploitation basés sur NT uniquement.
Créé via la combinaison OR au niveau du bit de DDBLT_EXTENDED_FLAGS et du bit 0x00000010.
Définissez si le runtime utilise par la suite les indicateurs DDBLT_PRESENTATION et DDBLT_LAST_PRESENTATION pour demander une série d’opérations stretch-blit en raison d’un appel présent d’une application.
Avertit le pilote de l’ensemble des zones rectangulaires source et de destination non clichées avant que le pilote ne reçoive les zones sous-rectangulaires réelles pour les fentes. De cette façon, le pilote peut calculer et enregistrer le facteur d’étirement pour toutes les fentes suivantes jusqu’à et y compris la fente avec le jeu d’indicateurs DDBLT_LAST_PRESENTATION. Toutefois, lorsque le pilote reçoit un blit avec l’indicateur de DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR défini, il ne doit pas utiliser ces zones rectangulaires non clichées pour effectuer une blitting réelle.
Une fois que le pilote a terminé la fente finale avec l’indicateur de DDBLT_LAST_PRESENTATION défini, le pilote doit effacer l’enregistrement du facteur d’étirement pour éviter toute interférence avec les fentes suivantes
.
DDBLT_KEYDESTOVERRIDE Utilisez le membre dckDestColorkey de la structure DDBLTFX (définie dans la documentation du SDK DirectDraw) comme clé de couleur pour la surface de destination. Si aucune substitution n’est définie, dckDestColorkey ne contient pas la clé de couleur. Le pilote doit tester la surface elle-même.
DDBLT_KEYSRCOVERRIDE Utilisez le membre dckSrcColorkey dans la structure DDBLTFX (définie dans la documentation du SDK DirectDraw) comme clé de couleur pour la surface source. Si aucune substitution n’est définie, dckDestColorkey ne contient pas la clé de couleur. Le pilote doit tester la surface elle-même.
DDBLT_LAST_PRESENTATION
DirectX 8.0 et versions ultérieures uniquement.
Définissez si le runtime demande une opération d’éclairage final en raison d’un appel présent d’une application.
DDBLT_PRESENTATION
DirectX 8.0 et versions ultérieures uniquement.
Définissez si le runtime demande une opération blit en raison d’un appel présent d’une application.
DDBLT_ROP Utilisez le membre dwROP dans la structure DDBLTFX (définie dans la documentation du Kit de développement logiciel (SDK) DirectDraw) pour l’opération raster pour cette fente. Actuellement, le seul ROP transmis au pilote est SRCCOPY. Ce ROP est identique à celui défini dans l’API Win32. Pour plus d’informations, consultez la documentation Microsoft Windows SDK.
DDBLT_ROTATIONANGLE Cet indicateur n’est pas pris en charge sur Windows 2000 et versions ultérieures et doit être ignoré par le pilote.
DDBLT_WAIT Ne retournez pas immédiatement avec le message DDERR_WASSTILLDRAWING si le blitter est occupé. Attendez qu’un blit puisse être configuré ou qu’une autre erreur se produise.

dwROPFlags

Non utilisé sur Windows 2000 et versions ultérieures et doit être ignoré par le pilote.

bltFX

#########

#######

ddRVal

Spécifie l’emplacement dans lequel le pilote écrit la valeur de retour du rappel DdBlt . Un code de retour de DD_OK indique la réussite. Pour plus d’informations, consultez Valeurs de retour pour DirectDraw.

Blt

Utilisé par l’API DirectDraw et ne doit pas être renseigné par le pilote.

IsClipped

Indique s’il s’agit d’une fente clippée. Sur Windows 2000 et versions ultérieures, ce membre est toujours FALSE, ce qui indique que le blit n’est pas appuyé.

rOrigDest

Inutilisé pour Windows 2000 et versions ultérieures. Spécifie une structure RECTL qui définit le rectangle de destination non appuyé. Ce membre est valide uniquement si IsClipped a la valeur TRUE.

rOrigSrc

Inutilisé pour Windows 2000 et versions ultérieures. Spécifie une structure RECTL qui définit le rectangle source non appuyé. Ce membre est valide uniquement si IsClipped a la valeur TRUE.

dwRectCnt

Inutilisé pour Windows 2000 et versions ultérieures.Spécifie le nombre de rectangles de destination vers lesquels prDestRects pointe. Ce membre est valide uniquement si IsClipped a la valeur TRUE.

prDestRects

Inutilisé pour Windows 2000 et versions ultérieures. Pointe vers un tableau de structures RECTL qui décrivent des rectangles de destination. Ce membre est valide uniquement si IsClipped a la valeur TRUE.

dwAFlags

Non utilisés et doivent être ignorés par le pilote.

ddargbScaleFactors

Facteurs de mise à l’échelle ARGB (AlphaBlt)

Remarques

Pour plus d’informations sur les indicateurs DDBLT_PRESENTATION et DDBLT_LAST_PRESENTATION, consultez Présentation.

Configuration requise

Condition requise Valeur
En-tête ddrawint.h (inclure Winddi.h)

Voir aussi

DdBlt