estrutura DXGK_GDIARG_ALPHABLEND (d3dkmddi.h)
A estrutura DXGK_GDIARG_ALPHABLEND descreve as características de uma operação de mistura alfa acelerada por hardware GDI.
Sintaxe
typedef struct _DXGK_GDIARG_ALPHABLEND {
[in] RECT SrcRect;
[in] RECT DstRect;
[in] UINT SrcAllocationIndex;
[in] UINT DstAllocationIndex;
[in] UINT NumSubRects;
[in] RECT *pSubRects;
[in] BYTE SourceConstantAlpha;
[in] BOOLEAN SourceHasAlpha;
[in] UINT SrcPitch;
} DXGK_GDIARG_ALPHABLEND;
Membros
[in] SrcRect
Uma estrutura RECT que define a área retangular a ser copiada. Esse retângulo de origem é especificado no sistema de coordenadas da superfície de origem e é definido por dois pontos: superior esquerdo e inferior direito. Os dois pontos que definem o retângulo são sempre bem ordenados. Esse retângulo nunca excederá os limites da superfície de origem, portanto, ele nunca sobrepõe a superfície de origem. Esse retângulo é mapeado para o retângulo de destino definido por DstRect . Consulte Comentários para obter mais informações.
[in] DstRect
Uma estrutura RECT que define a área retangular a ser modificada. Esse retângulo é especificado no sistema de coordenadas da superfície de destino e é definido por dois pontos: superior esquerdo e inferior direito. O retângulo é exclusivo para o canto inferior direito; ou seja, suas bordas inferior e direita não fazem parte da transferência de bloco de bits. Os dois pontos que definem o retângulo são sempre bem ordenados.
O retângulo de destino definido por DstRect pode exceder os limites da superfície de destino, mas os subtângulos não podem. Além disso, todos os sub-retângulos são garantidos para caber dentro da superfície de destino. Os subtângulos podem ser restringidos ainda mais por um retângulo delimitador menor que o retângulo de destino.
[in] SrcAllocationIndex
Um índice do elemento na lista de alocação que especifica a alocação referenciada pelo SrcRect retângulo de origem.
[in] DstAllocationIndex
Um índice do elemento na lista de alocação que especifica a alocação referenciada pelo DstRect retângulo de destino.
[in] NumSubRects
O número de sub-retângulos no espaço de superfície de destino delimitado pelo DstRect retângulo de destino.
[in] pSubRects
Um ponteiro para os sub-retângulos no espaço de superfície de destino.
[in] SourceConstantAlpha
O fator de mesclagem constante a ser aplicado a toda a superfície de origem. Esse valor está no intervalo de [0.255], onde 0 é completamente transparente e 255 é completamente opaco.
[in] SourceHasAlpha
Define se a superfície deve ter um canal alfa. Se verdadeiro, supõe-se que a superfície tenha um canal alfa; caso contrário, o valor é FALSE.
[in] SrcPitch
O tom da superfície de origem, em bytes.
Observações
Se uma operação de transferência de bloco de bits elástico (bitblt) for necessária, as proporções de alongamento x e y serão computadas respectivamente como as proporções dos tamanhos x e y dos membros DstRect e SrcRect, e a operação de alongamento continuará como se o valor COLORONCOLOR em *Wingdi.h estivesse definido. Em uma transferência de bloco de bits reduzida, pixels suficientes devem ser ignorados para que os pixels não precisem ser combinados. Em uma transferência de bloco de bits alongada, os pixels devem ser replicados.
Quando sub-retângulos são transformados no espaço da superfície de origem, o resultado é garantido estar dentro da superfície de origem. A transformação das coordenadas de um sub-retângulo na superfície de destino para coordenadas na superfície de origem é definida pelas seguintes fórmulas, em que:
- (Xd, Yd) é um ponto dentro do sub-retângulo
- (Xs, Ys) é um ponto dentro do retângulo de origem
float Ws = SrcRect.right - SrcRect.left;
float Wd = DstRect.right - DstRect.left;
int Xs = round((Xd - DstRect.left + 0.5) * Ws/Wd + SrcRect.left - 0.5)
// OR
int Xs = truncate((Xd - DstRect.left + 0.5) * Ws/Wd + SrcRect.left)
float Hs = SrcRect.bottom - SrcRect.top;
float Hd = DstRect.bottom - DstRect.top;
int Ys = round((Yd - DstRect.top + 0.5) * Hs/Hd + SrcRect.top - 0.5)
//OR
int Ys = truncate((Yd - DstRect.top + 0.5) * Hs/Hd + SrcRect.top)</code></pre>
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 7 |
cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |