Share via


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

Consulte también

DrvGradientFill