Metodo IDirect3DDevice9Ex::ComposeRects (d3d9.h)
Copiare una stringa di testo in una superficie usando un alfabeto di glifi in un'altra superficie. La composizione viene eseguita dalla GPU usando operazioni bit per bit.
Sintassi
HRESULT ComposeRects(
[in] IDirect3DSurface9 *pSrc,
[in] IDirect3DSurface9 *pDst,
[in] IDirect3DVertexBuffer9 *pSrcRectDescs,
[in] UINT NumRects,
[in] IDirect3DVertexBuffer9 *pDstRectDescs,
[in] D3DCOMPOSERECTSOP Operation,
[in] int Xoffset,
[in] int Yoffset
);
Parametri
[in] pSrc
Tipo: IDirect3DSurface9*
Puntatore a una superficie di origine (preparata da IDirect3DSurface9) che fornisce glifi alfabeti. Questa superficie deve essere creata con il flag di D3DUSAGE_TEXTAPI .
[in] pDst
Tipo: IDirect3DSurface9*
Puntatore alla superficie di destinazione (preparata da IDirect3DSurface9) che riceve i dati del glifo. La superficie deve essere parte di una trama.
[in] pSrcRectDescs
Tipo: IDirect3DVertexBuffer9*
Puntatore a un buffer del vertice (vedere IDirect3DVertexBuffer9) contenente rettangoli (vedere D3DCOMPOSERECTDESC) che racchiude i glifi desiderati nella superficie di origine.
[in] NumRects
Tipo: UINT
Numero di rettangoli o glifi usati nell'operazione. Il numero si applica sia alle superfici di origine che di destinazione. L'intervallo è da 0 a D3DCOMPOSERECTS_MAXNUMRECTS.
[in] pDstRectDescs
Tipo: IDirect3DVertexBuffer9*
Puntatore a un buffer del vertice (vedere IDirect3DVertexBuffer9) contenente rettangoli (vedere D3DCOMPOSERECTDESTINATION) che descrivono la destinazione a cui verrà copiato il glifo indicato dalla superficie di origine.
[in] Operation
Tipo: D3DCOMPOSERECTSOP
Specifica come combinare le superfici di origine e di destinazione. Vedere D3DCOMPOSERECTSOP.
[in] Xoffset
Tipo: INT
Valore aggiunto alle coordinate x di tutti i rettangoli di destinazione. Questo valore può essere negativo, che può causare il glifo da rifiutare o ritagliare se il risultato è oltre i limiti della superficie.
[in] Yoffset
Tipo: INT
Valore aggiunto alle coordinate y di tutti i rettangoli di destinazione. Questo valore può essere negativo, che può causare il glifo da rifiutare o ritagliare se il risultato è oltre i limiti della superficie.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito è D3D_OK.
Commenti
Glifi da una superficie di origine a un bit vengono messi insieme in un'altra superficie di trama a un bit con questo metodo. La superficie di destinazione può quindi essere usata come origine per un'operazione di texturing normale che filtra e ridimensiona le stringhe di testo in un'altra superficie non monocromatica.
Questo metodo ha diversi vincoli (simili a StretchRect):
- Le superfici non possono essere bloccate.
- Le superfici di origine e destinazione non possono essere la stessa superficie.
- Le superfici di origine e destinazione devono essere create con il formato D3DFMT_A1 .
- La superficie di origine e entrambi i buffer dei vertici devono essere creati con il flag di D3DPOOL_DEFAULT .
- L'area di destinazione deve essere creata con i flag di D3DPOOL_DEFAULT o di D3DPOOL_SYSTEMMEM .
- I rettangoli di origine devono trovarsi all'interno dell'area di origine.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d9.h |
Libreria | D3D9.lib |