Partager via


Méthode IDirectDrawSurface7 ::Blt (ddraw.h)

Effectue un transfert de bloc de bits (bitblt). Cette méthode ne prend pas en charge la mise en mémoire tampon z ou la fusion alpha pendant les opérations bitblt.

Syntaxe

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

Paramètres

[in] unnamedParam1

Pointeur vers une structure RECT qui définit les points supérieurs gauche et inférieur droit du rectangle à afficher sur la surface de destination. Si ce paramètre a la valeur NULL, toute la surface de destination est utilisée.

[in] unnamedParam2

Pointeur vers l’interface IDirectDrawSurface7 pour l’objet DirectDrawSurface qui est la source du bitblt.

[in] unnamedParam3

Pointeur vers une structure RECT qui définit les points supérieurs gauche et inférieur droit du rectangle à partir de la surface source. Si ce paramètre a la valeur NULL, toute la surface source est utilisée.

[in] unnamedParam4

Combinaison d’indicateurs qui déterminent les membres valides de la structure DDBLTFX associée, spécifient des informations de clé de couleur ou demandent un comportement spécial à partir de la méthode . Les indicateurs suivants sont définis :

Indicateurs de validation

DDBLT_COLORFILL

Utilise le membre dwFillColor de la structure DDBLTFX comme couleur RVB qui remplit le rectangle de destination sur la surface de destination.

DDBLT_DDFX

Utilise le membre dwDDFX de la structure DDBLTFX pour spécifier les effets à utiliser pour ce bitblt.

DDBLT_DDROPS

Utilise le membre dwDDROP de la structure DDBLTFX pour spécifier les opérations raster (ROPS) qui ne font pas partie de l’API Win32.

DDBLT_DEPTHFILL

Utilise le membre dwFillDepth de la structure DDBLTFX comme valeur de profondeur avec laquelle remplir le rectangle de destination sur la surface z-buffer de destination.

DDBLT_KEYDESTOVERRIDE

Utilise le membre ddckDestColorkey de la structure DDBLTFX comme clé de couleur pour la surface de destination.

DDBLT_KEYSRCOVERRIDE

Utilise le membre ddckSrcColorkey de la structure DDBLTFX comme clé de couleur pour la surface source.

DDBLT_ROP

Utilise le membre dwROP de la structure DDBLTFX pour le ROP pour ce bitblt. Ces ROP sont les mêmes que ceux définis dans l’API Win32.

DDBLT_ROTATIONANGLE

Utilise le membre dwRotationAngle de la structure DDBLTFX comme angle de rotation (spécifié en 1/100s de degré) pour la surface.

Indicateurs de touches de couleur

DDBLT_KEYDEST

Utilise la clé de couleur associée à la surface de destination.

DDBLT_KEYSRC

Utilise la clé de couleur associée à la surface source.

Indicateurs de comportement

DDBLT_ASYNC

Effectue ce bitblt de manière asynchrone via le matériel FIFO (premier entré, premier sorti) dans l’ordre reçu. Si aucune salle n’est disponible dans le matériel FIFO, l’appel échoue.

DDBLT_DONOTWAIT

Retourne sans bitbltting et retourne également DDERR_WASSTILLDRAWING si le bitbltter est occupé.

DDBLT_WAIT

Reporte la valeur de retour DDERR_WASSTILLDRAWING si le bitbltter est occupé et retourne dès que le bitblt peut être configuré ou qu’une autre erreur se produit.

Indicateurs obsolètes et non pris en charge

Toutes les valeurs d’indicateur DDBLT_ALPHA

Actuellement non implémenté.

Toutes les valeurs d’indicateur DDBLT_ZBUFFER

Cette méthode ne prend actuellement pas en charge les opérations bitblt prenant en charge z. Aucun des indicateurs commençant par « DDBLT_ZBUFFER » n’est pris en charge.

[in] unnamedParam5

Pointeur vers la structure DDBLTFX pour le bitblt.

Valeur retournée

Si la méthode réussit, la valeur de retour est DD_OK.

En cas d’échec, la méthode peut retourner l’une des valeurs d’erreur suivantes :

  • DDERR_GENERIC
  • DDERR_INVALIDCLIPLIST
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDRECT
  • DDERR_NOALPHAHW
  • DDERR_NOBLTHW
  • DDERR_NOCLIPLIST
  • DDERR_NODDROPSHW
  • DDERR_NOMIRRORHW
  • DDERR_NORASTEROPHW
  • DDERR_NOROTATIONHW
  • DDERR_NOSTRETCHHW
  • DDERR_NOZBUFFERHW
  • DDERR_SURFACEBUSY
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED
  • DDERR_WASSTILLDRAWING

Remarques

Blt peut effectuer des bitblts synchrones ou asynchrones (ce dernier est le comportement par défaut). Ces bits peuvent se produire de la mémoire d’affichage à la mémoire d’affichage, de la mémoire d’affichage à la mémoire système, de la mémoire système à la mémoire d’affichage ou de la mémoire système à la mémoire système. Les bits peuvent être effectuées à l’aide de clés de couleur source et de clés de couleur de destination. Un étirement ou une réduction arbitraire est effectué si les rectangles source et de destination ne sont pas de la même taille.

En règle générale, Blt retourne immédiatement avec une erreur si le bitbltter est occupé et que le bitblt n’a pas pu être configuré. Spécifiez l’indicateur DDBLT_WAIT pour demander un bitblt synchrone. Lorsque vous incluez l’indicateur DDBLT_WAIT, Blt attend que le bitblt puisse être configuré ou qu’une autre erreur se produit avant qu’elle ne soit retournée.

Les structures RECT sont définies de manière à ce que les membres de droite et de bas soient exclusifs. Par conséquent, la droite moins la gauche est égale à la largeur du rectangle, et non 1 de moins que la largeur.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête ddraw.h
Bibliothèque Ddraw.lib
DLL Ddraw.dll

Voir aussi

IDirectDrawSurface7