Partager via


Fonction EngGradientFill (winddi.h)

La fonction EngGradientFill nuance les primitives spécifiées.

Syntaxe

ENGAPI BOOL EngGradientFill(
       SURFOBJ   *psoDest,
       CLIPOBJ   *pco,
       XLATEOBJ  *pxlo,
       TRIVERTEX *pVertex,
       ULONG     nVertex,
       PVOID     pMesh,
       ULONG     nMesh,
       RECTL     *prclExtents,
       POINTL    *pptlDitherOrg,
  [in] ULONG     ulMode
);

Paramètres

psoDest

Pointeur vers la structure SURFOBJ qui identifie la surface sur laquelle dessiner.

pco

Pointeur vers une structure CLIPOBJ . Les routines de service CLIPOBJ_Xxx sont fournies pour énumérer la région de clip sous la forme d’un ensemble de rectangles. Cette énumération limite la zone de la destination modifiée. Dans la mesure du possible, GDI simplifie le découpage impliqué.

pxlo

Pointeur vers une structure XLATEOBJ . Cette structure indique comment les index de couleur doivent être traduits entre le format RVB 32 bpp et la destination. Le pilote est responsable de la conversion de l’entrée COLOR16 valeurs de couleur en RVB.

pVertex

Pointeur vers un tableau de structures TRIVERTEX, chaque entrée contenant des informations de position et de couleur. La structure TRIVERTEX est décrite dans la documentation Microsoft Windows SDK.

nVertex

Spécifie le nombre de structures TRIVERTEX dans le tableau vers lesquelles pVertex pointe.

pMesh

Pointeur vers un tableau de structures qui définissent la connectivité des éléments TRIVERTEX vers lesquels pVertex pointe.

Lorsque des rectangles sont dessinés, pMesh pointe vers un tableau de structures GRADIENT_RECT, chacune spécifiant deux éléments TRIVERTEX qui définissent un rectangle. Les éléments TRIVERTEX peuvent représenter n’importe quelle paire de sommets rectangles opposés en diagonale. Le dessin rectangle est exclusif en bas à droite. TRIVERTEX et GRADIENT_RECT sont définis dans la documentation du Kit de développement logiciel (SDK) Windows.

Lorsque des triangles sont dessinés, pMesh pointe vers un tableau de GRADIENT_TRIANGLE structures, chacune spécifiant les trois éléments TRIVERTEX qui définissent un triangle. Le dessin triangle est exclusif en bas à droite. La structure GRADIENT_TRIANGLE est définie dans la documentation du Kit de développement logiciel (SDK) Windows.

nMesh

Spécifie le nombre d’éléments du tableau vers lesquels pMesh pointe.

prclExtents

Pointeur vers une structure RECTL qui définit la zone dans laquelle le dessin de dégradé doit se produire. Les points sont spécifiés dans le système de coordonnées de la surface de destination. Ce paramètre est utile pour estimer la taille des opérations de dessin.

pptlDitherOrg

Pointeur vers une structure POINTL qui définit l’origine sur la surface pour le dithering. Le pixel supérieur gauche du modèle de trame est aligné sur ce point.

[in] ulMode

Spécifie le mode de dessin actuel et la façon d’interpréter le tableau vers quels points pMesh . Ce paramètre peut être l’une des valeurs suivantes :

GRADIENT_FILL_RECT_H

Le paramètre pMesh pointe vers un tableau de structures GRADIENT_RECT. Chaque rectangle doit être ombré de gauche à droite.

GRADIENT_FILL_RECT_V

Le paramètre pMesh pointe vers un tableau de structures GRADIENT_RECT. Chaque rectangle doit être ombré de haut en bas.

GRADIENT_FILL_TRIANGLE

Le paramètre pMesh pointe vers un tableau de structures GRADIENT_TRIANGLE.

Valeur retournée

EngGradientFill retourne TRUE en cas de réussite. Sinon, il signale une erreur et retourne FALSE.

Remarques

Le pilote doit appeler EngGradientFill s’il a crocheté DrvGradientFill et qu’il est appelé à faire quelque chose qu’il ne prend pas en charge.

Les formules utilisées pour calculer la valeur de couleur à chaque pixel dépendent de la valeur ulMode comme suit :

GDI ignore la valeur alpha des sommets, laissant le canal alpha inchangé pour les surfaces qui prennent en charge alpha.

Configuration requise

   
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

DrvGradientFill