Condividi tramite


DXGK_GDIARG_BITBLT struttura (d3dkmddi.h)

La struttura DXGK_GDIARG_BITBLT descrive le caratteristiche di un trasferimento in bit accelerato dall'hardware GDI (bitblt) senza estensione.

Sintassi

typedef struct _DXGK_GDIARG_BITBLT {
  [in] RECT SrcRect;
  [in] RECT DstRect;
       UINT SrcAllocationIndex;
       UINT DstAllocationIndex;
       UINT NumSubRects;
       RECT *pSubRects;
       WORD Rop;
       WORD Rop3;
       UINT SrcPitch;
       UINT DstPitch;
} DXGK_GDIARG_BITBLT;

Members

[in] SrcRect

Struttura RECT che definisce l'area rettangolare da copiare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di origine e viene definito da due punti: in alto a sinistra e in basso a destra. I due punti che definiscono il rettangolo sono sempre ordinati.

Il rettangolo di origine può superare i limiti della superficie di origine.

Questo rettangolo viene mappato al rettangolo di destinazione definito da DstRect. SrcRect viene usato per trasformare i sotto rettangoli dallo spazio di origine allo spazio di destinazione.

Per altre informazioni, vedere la sezione Osservazioni.

[in] DstRect

Struttura RECT che definisce l'area rettangolare da modificare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di destinazione e viene definito da due punti: in alto a sinistra e in basso a destra. Il rettangolo è esclusivo in basso a destra; ovvero, i suoi bordi inferiori e destro non fanno parte del trasferimento a blocchi di bit. I due punti che definiscono il rettangolo sono sempre ordinati.

Il rettangolo di destinazione definito da DstRect può superare i limiti della superficie di destinazione, ma i sotto rettangoli non possono. Inoltre, tutti i sotto rettangoli sono garantiti per adattarsi all'interno dell'area di destinazione. I rettangoli secondari possono essere vincolati ulteriormente da un rettangolo di selezione minore del rettangolo di destinazione.

Per altre informazioni, vedere la sezione Osservazioni.

SrcAllocationIndex

[in] Indice dell'elemento nell'elenco di allocazione che specifica l'allocazione a cui fa riferimento il rettangolo di origine SrcRect .

DstAllocationIndex

[in] Indice dell'elemento nell'elenco di allocazione che specifica l'allocazione a cui fa riferimento il rettangolo di destinazione DstRect .

NumSubRects

[in] Numero di rettangoli secondari nello spazio della superficie di destinazione associato al rettangolo di destinazione DstRect .

pSubRects

[in] Puntatore ai sotto rettangoli nello spazio di superficie di destinazione associato al rettangolo di destinazione DstRect .

Rop

[in] Valore a 8 bit che specifica un'operazione raster GDI definita dai valori costanti dell'enumerazione DXGK_GDIROP_BITBLT .

Rop3

[in] Valore a 8 bit che specifica un'operazione raster GDI ternaria (ROP3) che combina un pennello, una bitmap di origine e una bitmap di destinazione in una delle 256 possibili combinazioni. Questo tipo di operazione raster verrà elaborato solo se il driver ha impostato il membro SupportAllBltRops nella struttura DXGK_PRESENTATIONCAPS .

SrcPitch

[in] Passo della superficie di origine, in byte. Per altre informazioni sull'uso del campo, vedere La sezione Osservazioni.

DstPitch

[in] Passo della superficie di destinazione, in byte. Per altre informazioni sull'uso del campo, vedere La sezione Osservazioni.

Commenti

I valori di passo SrcPitch e DstPitch devono essere usati per determinare le posizioni di byte dei rettangoli SrcRect e DstRect , rispettivamente, per le allocazioni seguenti di tipo D3DKMDT_GDISURFACETYPE:

D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE

D3DKMDT_GDISURFACE_EXISTINGSYSMEM

Il passo deve essere ignorato per altri tipi di allocazione.

Il passo è garantito che sia allineato nel trasferimento a blocchi bit in base al membro AlignShift della struttura DXGK_PRESENTATIONCAPS , ovvero DXGK_DRIVERCAPS. PresentationCaps.AlignmentShift.

Dove un rettangolo è definito da due pixel alle coordinate (a sinistra, in alto) e (a destra, in basso), l'indirizzo del primo pixel è:

Allocation.BaseAddress + (top * Pitch) + (left * 4)

L'indirizzo dell'ultimo pixel del rettangolo è:

Allocation.BaseAddress + ((bottom - 1) * Pitch) + ((right - 1) * 4)

Quando i sotto rettangoli vengono trasformati nello spazio di superficie di origine, il risultato è garantito all'interno della superficie di origine. Questa trasformazione è definita dalla formula seguente:

<SrcSubRect.left = SubRect.left - DstRect.left + SrcRect.left;
SrcSubRect.right = SubRect.right - DstRect.left + SrcRect.left;
SrcSubRect.top = SubRect.top - DstRect.top + SrcRect.top;
SrcSubRect.bottom = SubRect.bottom - DstRect.top + SrcRect.top;

Requisiti

Requisito Valore
Client minimo supportato Windows 7
Intestazione d3dkmddi.h (include D3dkmddi.h)

Vedi anche

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DXGK_GDIROP_BITBLT

DXGK_PRESENTATIONCAPS

RECT