Função EngGradientFill (winddi.h)
A função EngGradientFill sombreia os primitivos especificados.
Sintaxe
ENGAPI BOOL EngGradientFill(
SURFOBJ *psoDest,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
TRIVERTEX *pVertex,
ULONG nVertex,
PVOID pMesh,
ULONG nMesh,
RECTL *prclExtents,
POINTL *pptlDitherOrg,
[in] ULONG ulMode
);
Parâmetros
psoDest
Ponteiro para a estrutura SURFOBJ que identifica a superfície na qual desenhar.
pco
Ponteiro para uma estrutura CLIPOBJ . As rotinas de serviço CLIPOBJ_Xxx são fornecidas para enumerar a região de clipe como um conjunto de retângulos. Essa enumeração limita a área do destino que é modificado. Sempre que possível, a GDI simplifica o recorte envolvido.
pxlo
Ponteiro para uma estrutura XLATEOBJ . Essa estrutura indica como os índices de cores devem ser convertidos entre o formato RGB de 32 bpp e o destino. O driver é responsável por converter os valores de cor de COLOR16 de entrada em RGB.
pVertex
Ponteiro para uma matriz de estruturas TRIVERTEX, com cada entrada contendo informações de posição e cor. A estrutura TRIVERTEX é descrita na documentação do SDK do Microsoft Windows.
nVertex
Especifica o número de estruturas TRIVERTEX na matriz para a qual pVertex aponta.
pMesh
Ponteiro para uma matriz de estruturas que definem a conectividade dos elementos TRIVERTEX aos quais pVertex aponta.
Quando retângulos estão sendo desenhados, pMesh aponta para uma matriz de estruturas GRADIENT_RECT, cada uma especificando dois elementos TRIVERTEX que definem um retângulo. Os elementos TRIVERTEX podem representar qualquer par diagonalmente oposto de vértices de retângulo. O desenho do retângulo é exclusivo no canto inferior direito. TRIVERTEX e GRADIENT_RECT são definidos na documentação do SDK do Windows.
Quando triângulos estão sendo desenhados, pMesh aponta para uma matriz de estruturas GRADIENT_TRIANGLE, cada uma especificando os três elementos TRIVERTEX que definem um triângulo. O desenho do triângulo é exclusivo no canto inferior direito. A estrutura GRADIENT_TRIANGLE é definida na documentação do SDK do Windows.
nMesh
Especifica o número de elementos na matriz para a qual pMesh aponta.
prclExtents
Ponteiro para uma estrutura RECTL que define a área na qual o desenho de gradiente deve ocorrer. Os pontos são especificados no sistema de coordenadas da superfície de destino. Esse parâmetro é útil para estimar o tamanho das operações de desenho.
pptlDitherOrg
Ponteiro para uma estrutura POINTL que define a origem na superfície para dithering. O pixel superior esquerdo do padrão dither está alinhado com esse ponto.
[in] ulMode
Especifica o modo de desenho atual e como interpretar a matriz à qual pMesh aponta. Esse parâmetro pode usar um dos valores a seguir:
GRADIENT_FILL_RECT_H
O parâmetro pMesh aponta para uma matriz de estruturas GRADIENT_RECT. Cada retângulo deve ser sombreado da esquerda para a direita.
GRADIENT_FILL_RECT_V
O parâmetro pMesh aponta para uma matriz de estruturas GRADIENT_RECT. Cada retângulo deve ser sombreado de cima para baixo.
GRADIENT_FILL_TRIANGLE
O parâmetro pMesh aponta para uma matriz de estruturas GRADIENT_TRIANGLE.
Valor retornado
EngGradientFill retorna TRUE após o sucesso. Caso contrário, ele relatará um erro e retornará FALSE.
Comentários
O driver deve chamar EngGradientFill se ele tiver fisgado DrvGradientFill e for chamado para fazer algo que ele não dá suporte.
As fórmulas usadas para calcular o valor de cor em cada pixel dependem do valor de ulMode da seguinte maneira:
A GDI ignora o valor alfa dos vértices, deixando o canal alfa inalterado para superfícies que dão suporte a alfa.
Requisitos
Cliente mínimo com suporte | Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows. |
Plataforma de Destino | Universal |
Cabeçalho | winddi.h (inclua Winddi.h) |
Biblioteca | Win32k.lib |
DLL | Win32k.sys |