Compartir a través de


estructura DD_BLTDATA (ddrawint.h)

La estructura de DD_BLTDATA contiene la información relevante para el controlador para realizar transferencias de bloques de bits.

Sintaxis

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;

Miembros

lpDD

Apunta a una estructura de DD_DIRECTDRAW_GLOBAL que describe el dispositivo del controlador.

lpDDDestSurface

Apunta a la estructura DD_SURFACE_LOCAL que describe la superficie en la que se va a dividir.

rDest

lpDDSrcSurface

Apunta a una estructura de DD_SURFACE_LOCAL que describe la superficie de origen.

rSrc

dwFlags

Indica un conjunto de marcas que especifican el tipo de operación blit que se va a realizar y qué miembros de estructura asociados tienen datos válidos que debe usar el controlador. Este miembro es un OR bit a bit de cualquiera de las marcas siguientes:

Marca Significado
DDBLT_ASYNC Realice esta operación de forma asincrónica a través del FIFO en el orden recibido. Si no existe espacio en el FIFO de hardware, el controlador debe producir un error en la llamada y volver inmediatamente.
DDBLT_COLORFILL Use el miembro dwFillColor en la estructura DDBLTFX (definida en la documentación del SDK de Microsoft DirectDraw) como color RGB con el que rellenar el rectángulo de destino en la superficie de destino.
DDBLT_DDFX Use el miembro dwDDFX en la estructura DDBLTFX (definida en la documentación del SDK de DirectDraw) para determinar los efectos que se usarán para la blit.
DDBLT_DDROPS Esta marca está reservada para uso del sistema y el controlador debe omitirla. El controlador también debe omitir el miembro dwDDROPS de la estructura DDBLTFX.
DDBLT_EXTENDED_FLAGS
Microsoft DirectX 9.0 y versiones posteriores solo.
Se establece en tiempo de ejecución para dirigir al controlador para reinterpretar determinadas marcas en dwFlags a partir de sus significados en DirectX 8.1 y versiones anteriores. El tiempo de ejecución combina DDBLT_EXTENDED_FLAGS con marcas DDBLT_Xxx mediante un or bit a bit para crear marcas DDBLT_EXTENDED_Xxx .
DDBLT_EXTENDED_LINEAR_CONTENT
Microsoft DirectX 9.0 y versiones posteriores solo.
Creado a través de la combinación OR bit a bit de DDBLT_EXTENDED_FLAGS y el bit de 0x00000004.
Indica que la superficie de origen contiene contenido en un espacio de colores lineal. A continuación, el controlador puede realizar la corrección gamma 2.2 (sRGB) al espacio de color del escritorio como parte de la blt.
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Microsoft DirectX 9.0 y versiones posteriores solo.
Solo sistemas operativos basados en NT.
Creado a través de la combinación OR bit a bit de DDBLT_EXTENDED_FLAGS y el bit de 0x00000010.
Establezca si el tiempo de ejecución usa posteriormente las marcas DDBLT_PRESENTATION y DDBLT_LAST_PRESENTATION para solicitar una serie de operaciones stretch-blit debido a una llamada Present por una aplicación.
Notifica al controlador todas las áreas rectangulares de origen y destino no recortadas antes de que el controlador reciba áreas sub rectangulares reales para las hendiduras. De este modo, el controlador puede calcular y registrar el factor de extensión para todas las ranuras posteriores hasta e incluir la ranura con la marca DDBLT_LAST_PRESENTATION establecida. Sin embargo, cuando el controlador recibe unalit con el conjunto de marcas DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR, el controlador no debe usar estas áreas rectangulares no recortadas para realizar ninguna migración en bloque real.
Una vez que el controlador termine la última ranura con la marca DDBLT_LAST_PRESENTATION establecida, el controlador debe borrar el registro de factor extendido para evitar interferencias con cualquier bilit posterior.
.
DDBLT_KEYDESTOVERRIDE Use el miembro dckDestColorkey en la estructura DDBLTFX (definida en la documentación del SDK de DirectDraw) como clave de color para la superficie de destino. Si no se establece una invalidación, dckDestColorkey no contiene la clave de color. El controlador debe probar la superficie en sí.
DDBLT_KEYSRCOVERRIDE Use el miembro dckSrcColorkey en la estructura DDBLTFX (definida en la documentación del SDK de DirectDraw) como clave de color para la superficie de origen. Si no se establece una invalidación, dckDestColorkey no contiene la clave de color. El controlador debe probar la superficie en sí.
DDBLT_LAST_PRESENTATION
DirectX 8.0 y versiones posteriores solo.
Establezca si el tiempo de ejecución solicita una operación de blit final debido a una llamada Present por una aplicación.
DDBLT_PRESENTATION
DirectX 8.0 y versiones posteriores solo.
Establezca si el tiempo de ejecución solicita una operación blit debido a una llamada Present por una aplicación.
DDBLT_ROP Use el miembro dwROP en la estructura DDBLTFX (definida en la documentación del SDK de DirectDraw) para la operación de trama de esta blit. Actualmente, el único ROP pasado al controlador es SRCCOPY. Este ROP es el mismo que el definido en la API de Win32. Consulte la documentación de Microsoft Windows SDK para obtener más información.
DDBLT_ROTATIONANGLE Esta marca no se admite en Windows 2000 y versiones posteriores y el controlador debe omitirla.
DDBLT_WAIT No vuelva inmediatamente con el mensaje de DDERR_WASSTILLDRAWING si el blitter está ocupado, espere hasta que se pueda configurar la blit u se produzca otro error.

dwROPFlags

El controlador debe omitir un uso en Windows 2000 y versiones posteriores.

bltFX

#########

#######

ddRVal

Especifica la ubicación en la que el controlador escribe el valor devuelto de la devolución de llamada DdBlt . Un código de retorno de DD_OK indica que se ha realizado correctamente. Para obtener más información, vea Valores devueltos para DirectDraw.

Blt

Lo usa la API de DirectDraw y el controlador no debe rellenarlo.

IsClipped

Indica si se trata de una barra recortada. En Windows 2000 y versiones posteriores, este miembro siempre es FALSE, lo que indica que la barra de bits está desactivada.

rOrigDest

Sin usar para Windows 2000 y versiones posteriores. Especifica una estructura RECTL que define el rectángulo de destino no recortado. Este miembro solo es válido si IsClipped es TRUE.

rOrigSrc

Sin usar para Windows 2000 y versiones posteriores. Especifica una estructura RECTL que define el rectángulo de origen no recortado. Este miembro solo es válido si IsClipped es TRUE.

dwRectCnt

Sin usar para Windows 2000 y versiones posteriores.Especifica el número de rectángulos de destino a los que apunta prDestRects . Este miembro solo es válido si IsClipped es TRUE.

prDestRects

Sin usar para Windows 2000 y versiones posteriores. Apunta a una matriz de estructuras RECTL que describen los rectángulos de destino. Este miembro solo es válido si IsClipped es TRUE.

dwAFlags

El controlador debe omitir y no se debe usar.

ddargbScaleFactors

Factores de escalado arGB (AlphaBlt)

Comentarios

Para obtener más información sobre las marcas de DDBLT_PRESENTATION y DDBLT_LAST_PRESENTATION, vea Presentación.

Requisitos

Requisito Valor
Header ddrawint.h (incluya Winddi.h)

Consulte también

DdBlt