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 |