Compartilhar via


Método IDirect3DDevice9Ex::ComposeRects (d3d9.h)

Copie uma cadeia de texto para uma superfície usando um alfabeto de glifos em outra superfície. A composição é feita pela GPU usando operações bit a bit.

Sintaxe

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
);

Parâmetros

[in] pSrc

Tipo: IDirect3DSurface9*

Um ponteiro para uma superfície de origem (preparada por IDirect3DSurface9) que fornece os glifos alfabetos. Essa superfície deve ser criada com o sinalizador D3DUSAGE_TEXTAPI .

[in] pDst

Tipo: IDirect3DSurface9*

Um ponteiro para a superfície de destino (preparada por IDirect3DSurface9) que recebe os dados de glifo. A superfície deve fazer parte de uma textura.

[in] pSrcRectDescs

Tipo: IDirect3DVertexBuffer9*

Um ponteiro para um buffer de vértice (consulte IDirect3DVertexBuffer9) que contém retângulos (consulte D3DCOMPOSERECTDESC) que incluem os glifos desejados na superfície de origem.

[in] NumRects

Tipo: UINT

O número de retângulos ou glifos usados na operação. O número se aplica às superfícies de origem e de destino. O intervalo é de 0 a D3DCOMPOSERECTS_MAXNUMRECTS.

[in] pDstRectDescs

Tipo: IDirect3DVertexBuffer9*

Um ponteiro para um buffer de vértice (consulte IDirect3DVertexBuffer9) que contém retângulos (consulte D3DCOMPOSERECTDESTINATION) que descrevem o destino para o qual o glifo indicado da superfície de origem será copiado.

[in] Operation

Tipo: D3DCOMPOSERECTSOP

Especifica como combinar as superfícies de origem e de destino. Consulte D3DCOMPOSERECTSOP.

[in] Xoffset

Tipo: INT

Um valor adicionado às coordenadas x de todos os retângulos de destino. Esse valor pode ser negativo, o que pode fazer com que o glifo seja rejeitado ou recortado se o resultado estiver além dos limites da superfície.

[in] Yoffset

Tipo: INT

Um valor adicionado às coordenadas y de todos os retângulos de destino. Esse valor pode ser negativo, o que pode fazer com que o glifo seja rejeitado ou recortado se o resultado estiver além dos limites da superfície.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK.

Comentários

Glifos de uma superfície de origem de um bit são colocados juntos em outra superfície de textura de um bit com esse método. Em seguida, a superfície de destino pode ser usada como a origem de uma operação de texugo normal que filtrará e dimensionará as cadeias de caracteres de texto em alguma outra superfície não monocromática.

Esse método tem várias restrições (que são semelhantes ao StretchRect):

  • As superfícies não podem ser bloqueadas.
  • As superfícies de origem e destino não podem ser a mesma superfície.
  • As superfícies de origem e destino devem ser criadas com o formato D3DFMT_A1 .
  • A superfície de origem e os dois buffers de vértice devem ser criados com o sinalizador D3DPOOL_DEFAULT .
  • A superfície de destino deve ser criada com os sinalizadores D3DPOOL_DEFAULT ou D3DPOOL_SYSTEMMEM .
  • Os retângulos de origem devem estar dentro da superfície de origem.
O método não é registrado em blocos de estado.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3d9.h
Biblioteca D3D9.lib

Confira também

Idirect3ddevice9ex