Funzione EngTransparentBlt (winddi.h)
La funzione EngTransparentBlt offre funzionalità di trasferimento a blocchi di bit con trasparenza.
Sintassi
ENGAPI BOOL EngTransparentBlt(
[in] SURFOBJ *psoDst,
[in] SURFOBJ *psoSrc,
[in, optional] CLIPOBJ *pco,
[in, optional] XLATEOBJ *pxlo,
[in] RECTL *prclDst,
[in] RECTL *prclSrc,
[in] ULONG TransColor,
[in] ULONG bCalledFromBitBlt
);
Parametri
[in] psoDst
Puntatore alla struttura SURFOBJ che identifica la superficie di destinazione su cui disegnare.
[in] psoSrc
Puntatore alla struttura SURFOBJ che identifica la superficie di origine del trasferimento a blocchi di bit.
[in, optional] pco
Puntatore a una struttura CLIPOBJ . Le routine del servizio CLIPOBJ_Xxx vengono fornite per enumerare l'area di ritaglio come set di rettangoli. Questa enumerazione limita l'area della destinazione modificata. Quando possibile, GDI semplifica il ritaglio.
[in, optional] pxlo
Puntatore a una struttura XLATEOBJ che indica come devono essere convertiti gli indici del colore di origine per la scrittura nella superficie di destinazione.
[in] prclDst
Puntatore a una struttura RECTL che definisce l'area rettangolare da modificare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di destinazione ed è definito da due punti: in alto a sinistra e in basso a destra. Il rettangolo è esclusivo in basso a destra; ovvero i bordi inferiori e destro non fanno parte del trasferimento del blocco di bit. I due punti che definiscono il rettangolo sono sempre ordinati correttamente.
Il driver non deve mai chiamare EngTransparentBlt con un rettangolo di destinazione vuoto.
[in] prclSrc
Puntatore a una struttura RECTL che definisce l'area rettangolare da copiare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di origine ed è definito da due punti: superiore sinistro e inferiore destro. I due punti che definiscono il rettangolo sono sempre ordinati correttamente.
Il rettangolo di origine non supererà mai i limiti della superficie di origine e quindi non sovrasporrà mai la superficie di origine.
Questo rettangolo viene mappato al rettangolo di destinazione definito da prclDst. Il driver non deve mai chiamare EngTransparentBlt con un rettangolo di origine vuoto.
[in] TransColor
Specifica il colore trasparente fisico, nel formato della superficie di origine. Si tratta di un valore di indice colore convertito nella tavolozza della superficie di origine. Per altre informazioni, vedere la sezione Osservazioni .
[in] bCalledFromBitBlt
Riservato. Questo parametro deve essere impostato su zero.
Valore restituito
EngTransparentBlt restituisce TRUE in caso di esito positivo. In caso contrario, restituisce FALSE.
Commenti
Il driver deve chiamare EngTransparentBlt se ha collegato DrvTransparentBlt e viene chiamato per eseguire un'operazione che non supporta.
Il trasferimento a blocchi di bit con trasparenza è supportato tra due superfici gestite dal dispositivo o tra una superficie gestita dal dispositivo e una bitmap in formato standard gestito da GDI. Attualmente GDI supporta solo BMF_4BPP e BMF_8BPP superfici di origine.
I pixel sulla superficie di origine che corrispondono al colore trasparente specificato da iTransparentColor non vengono copiati. Per una spiegazione dettagliata dei blts trasparenti, vedere Copia di bitmap.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Universale |
Intestazione | winddi.h (include Winddi.h) |
Libreria | Win32k.lib |
DLL | Win32k.sys |