Función EngGradientFill (winddi.h)
La función EngGradientFill sombrea los primitivos especificados.
Sintaxis
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
Puntero a la estructura SURFOBJ que identifica la superficie en la que se va a dibujar.
pco
Puntero a una estructura CLIPOBJ . Las rutinas de servicio CLIPOBJ_Xxx se proporcionan para enumerar la región de clip como un conjunto de rectángulos. Esta enumeración limita el área del destino que se modifica. Siempre que sea posible, GDI simplifica el recorte implicado.
pxlo
Puntero a una estructura XLATEOBJ . Esta estructura indica cómo se deben traducir los índices de color entre el formato RGB de 32 bpp y el destino. El controlador es responsable de convertir los valores de color de entrada COLOR16 en RGB.
pVertex
Puntero a una matriz de estructuras TRIVERTEX, con cada entrada que contiene información de posición y color. La estructura TRIVERTEX se describe en la documentación de Microsoft Windows SDK.
nVertex
Especifica el número de estructuras TRIVERTEX de la matriz a la que apunta pVertex .
pMesh
Puntero a una matriz de estructuras que definen la conectividad de los elementos TRIVERTEX a los que apunta pVertex .
Cuando se dibujan rectángulos, pMesh apunta a una matriz de estructuras de GRADIENT_RECT, cada una de las cuales especifica dos elementos TRIVERTEX que definen un rectángulo. Los elementos TRIVERTEX pueden representar cualquier par diagonalmente opuesto de vértices de rectángulo. El dibujo de rectángulo es exclusivo de la parte inferior derecha. Tanto TRIVERTEX como GRADIENT_RECT se definen en la documentación de Windows SDK.
Cuando se dibujan triángulos, pMesh apunta a una matriz de estructuras de GRADIENT_TRIANGLE, cada una de las cuales especifica los tres elementos TRIVERTEX que definen un triángulo. El dibujo de triángulos es exclusivo de la parte inferior derecha. La estructura GRADIENT_TRIANGLE se define en la documentación de Windows SDK.
nMesh
Especifica el número de elementos de la matriz a los que apunta pMesh .
prclExtents
Puntero a una estructura RECTL que define el área en la que se va a producir el dibujo degradado. Los puntos se especifican en el sistema de coordenadas de la superficie de destino. Este parámetro es útil para calcular el tamaño de las operaciones de dibujo.
pptlDitherOrg
Puntero a una estructura POINTL que define el origen en la superficie para la dithering. El píxel superior izquierdo del patrón de dither se alinea con este punto.
[in] ulMode
Especifica el modo de dibujo actual y cómo interpretar la matriz a la que apunta pMesh . Este parámetro puede establecerse con uno de los siguientes valores:
GRADIENT_FILL_RECT_H
El parámetro pMesh apunta a una matriz de estructuras de GRADIENT_RECT. Cada rectángulo se sombrea de izquierda a derecha.
GRADIENT_FILL_RECT_V
El parámetro pMesh apunta a una matriz de estructuras de GRADIENT_RECT. Cada rectángulo se sombrea de arriba a abajo.
GRADIENT_FILL_TRIANGLE
El parámetro pMesh apunta a una matriz de estructuras GRADIENT_TRIANGLE.
Valor devuelto
EngGradientFill devuelve TRUE tras el éxito. De lo contrario, notifica un error y devuelve FALSE.
Comentarios
El controlador debe llamar a EngGradientFill si ha enganchado DrvGradientFill y se le llama para hacer algo que no admita.
Las fórmulas usadas para calcular el valor de color en cada píxel dependen del valor de ulMode de la siguiente manera:
GDI omite el valor alfa de los vértices, dejando el canal alfa sin cambios para las superficies que admiten alfa.
Requisitos
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Universal |
Encabezado | winddi.h (incluya Winddi.h) |
Library | Win32k.lib |
Archivo DLL | Win32k.sys |