Compartir a través de


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

Realiza una transferencia de bloques de bits (bitblt). Este método no admite el almacenamiento en búfer z ni la combinación alfa durante las operaciones bitblt.

Sintaxis

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

Parámetros

[in] unnamedParam1

Puntero a una estructura RECT que define los puntos superior izquierdo e inferior derecho del rectángulo a bitblt en la superficie de destino. Si este parámetro es NULL, se usa toda la superficie de destino.

[in] unnamedParam2

Puntero a la interfaz IDirectDrawSurface7 del objeto DirectDrawSurface que es el origen del bitblt.

[in] unnamedParam3

Puntero a una estructura RECT que define los puntos superior izquierdo e inferior derecho del rectángulo a bitblt desde la superficie de origen. Si este parámetro es NULL, se usa toda la superficie de origen.

[in] unnamedParam4

Combinación de marcas que determinan los miembros válidos de la estructura DDBLTFX asociada, especifican información de clave de color o solicitan un comportamiento especial del método. Se definen las marcas siguientes:

Marcas de validación

DDBLT_COLORFILL

Usa el miembro dwFillColor de la estructura DDBLTFX como color RGB que rellena el rectángulo de destino en la superficie de destino.

DDBLT_DDFX

Usa el miembro dwDDFX de la estructura DDBLTFX para especificar los efectos que se usarán para este bitblt.

DDBLT_DDROPS

Usa el miembro dwDDROP de la estructura DDBLTFX para especificar las operaciones ráster (ROPS) que no forman parte de la API de Win32.

DDBLT_DEPTHFILL

Usa el miembro dwFillDepth de la estructura DDBLTFX como valor de profundidad con el que rellenar el rectángulo de destino en la superficie z-buffer de destino.

DDBLT_KEYDESTOVERRIDE

Usa el miembro ddckDestColorkey de la estructura DDBLTFX como clave de color para la superficie de destino.

DDBLT_KEYSRCOVERRIDE

Usa el miembro ddckSrcColorkey de la estructura DDBLTFX como clave de color para la superficie de origen.

DDBLT_ROP

Usa el miembro dwROP de la estructura DDBLTFX para el ROP para este bitblt. Estas ROP son las mismas que las definidas en la API de Win32.

DDBLT_ROTATIONANGLE

Usa el miembro dwRotationAngle de la estructura DDBLTFX como ángulo de rotación (especificado en 1/100s de un grado) para la superficie.

Marcas de clave de color

DDBLT_KEYDEST

Usa la clave de color asociada a la superficie de destino.

DDBLT_KEYSRC

Usa la clave de color asociada a la superficie de origen.

Marcas de comportamiento

DDBLT_ASYNC

Realiza este bitblt de forma asincrónica a través del primer hardware de entrada y salida (FIFO) en el orden recibido. Si no hay espacio disponible en el hardware FIFO, se produce un error en la llamada.

DDBLT_DONOTWAIT

Devuelve sin bitbltting y también devuelve DDERR_WASSTILLDRAWING si el bitbltter está ocupado.

DDBLT_WAIT

Pospone el valor devuelto DDERR_WASSTILLDRAWING si el bitbltter está ocupado y devuelve tan pronto como se pueda configurar el bitblt u otro error.

Marcas obsoletas y no admitidas

Todos los valores de marca de DDBLT_ALPHA

No implementado actualmente.

Todos los valores de marca de DDBLT_ZBUFFER

Este método no admite actualmente operaciones bitblt compatibles con z. No se admite ninguna de las marcas que comienzan por "DDBLT_ZBUFFER".

[in] unnamedParam5

Puntero a la estructura DDBLTFX del bitblt.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto se DD_OK.

Si se produce un error, el método puede devolver uno de los siguientes valores de error:

  • 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

Comentarios

Blt puede realizar bitblts sincrónicos o asincrónicos (este último es el comportamiento predeterminado). Estos bitblts pueden ocurrir desde la memoria de visualización para mostrar la memoria, desde la memoria de visualización a la memoria del sistema, desde la memoria del sistema hasta la memoria del sistema o desde la memoria del sistema hasta la memoria del sistema. Los bitsblts se pueden realizar mediante las teclas de color de origen y las teclas de color de destino. Si los rectángulos de origen y destino no tienen el mismo tamaño.

Normalmente, Blt devuelve inmediatamente con un error si el bitbltter está ocupado y el bitblt no se pudo configurar. Especifique la marca DDBLT_WAIT para solicitar un bitblt sincrónico. Cuando se incluye la marca de DDBLT_WAIT, Blt espera hasta que se pueda configurar el bitblt u otro error antes de que se devuelva.

Las estructuras RECT se definen para que los miembros derecho e inferior sean exclusivos, por lo tanto, derecha menos izquierda es igual al ancho del rectángulo, no 1 menor que el ancho.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado ddraw.h
Library Ddraw.lib
Archivo DLL Ddraw.dll

Consulte también

IDirectDrawSurface7