Funzione EngGradientFill (winddi.h)
La funzione EngGradientFill ombreggiate le primitive specificate.
Sintassi
ENGAPI BOOL EngGradientFill(
SURFOBJ *psoDest,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
TRIVERTEX *pVertex,
ULONG nVertex,
PVOID pMesh,
ULONG nMesh,
RECTL *prclExtents,
POINTL *pptlDitherOrg,
[in] ULONG ulMode
);
Parametri
psoDest
Puntatore alla struttura SURFOBJ che identifica la superficie su cui disegnare.
pco
Puntatore a una struttura CLIPOBJ . Le routine di servizio CLIPOBJ_Xxx vengono fornite per enumerare l'area clip come set di rettangoli. Questa enumerazione limita l'area della destinazione modificata. Se possibile, GDI semplifica il ritaglio coinvolto.
pxlo
Puntatore a una struttura XLATEOBJ . Questa struttura indica in che modo gli indici di colore devono essere convertiti tra il formato RGB 32 bpp e la destinazione. Il driver è responsabile della conversione dei valori di colore COLOR16 input in RGB.
pVertex
Puntatore a una matrice di strutture TRIVERTEX, con ogni voce contenente informazioni sulla posizione e sul colore. La struttura TRIVERTEX è descritta nella documentazione di Microsoft Windows SDK.
nVertex
Specifica il numero di strutture TRIVERTEX nella matrice a cui pVertex punta.
pMesh
Puntatore a una matrice di strutture che definiscono la connettività degli elementi TRIVERTEX a cui pVertex punta.
Quando i rettangoli vengono disegnati, pMesh punta a una matrice di strutture GRADIENT_RECT, ognuna delle quali specifica due elementi TRIVERTEX che definiscono un rettangolo. Gli elementi TRIVERTEX possono rappresentare qualsiasi coppia diagonalmente opposta di vertici rettangoli. Il disegno rettangolo è esclusivo in basso a destra. Sia TRIVERTEX che GRADIENT_RECT sono definiti nella documentazione di Windows SDK.
Quando vengono disegnati triangoli, pMesh punta a una matrice di strutture GRADIENT_TRIANGLE, ognuna delle quali specifica i tre elementi TRIVERTEX che definiscono un triangolo. Il disegno del triangolo è esclusivo in basso a destra. La struttura GRADIENT_TRIANGLE è definita nella documentazione di Windows SDK.
nMesh
Specifica il numero di elementi nella matrice a cui punta pMesh .
prclExtents
Puntatore a una struttura RECTL che definisce l'area in cui si verifica il disegno sfumatura. I punti vengono specificati nel sistema di coordinate della superficie di destinazione. Questo parametro è utile per stimare le dimensioni delle operazioni di disegno.
pptlDitherOrg
Puntatore a una struttura POINTL che definisce l'origine sulla superficie per la dithering. Il pixel superiore sinistro del modello dither è allineato a questo punto.
[in] ulMode
Specifica la modalità di disegno corrente e come interpretare la matrice a cui punta pMesh . Questo parametro può essere uno dei valori seguenti:
GRADIENT_FILL_RECT_H
Il parametro pMesh punta a una matrice di strutture GRADIENT_RECT. Ogni rettangolo deve essere ombreggiato da sinistra a destra.
GRADIENT_FILL_RECT_V
Il parametro pMesh punta a una matrice di strutture GRADIENT_RECT. Ogni rettangolo deve essere ombreggiato dall'alto verso il basso.
GRADIENT_FILL_TRIANGLE
Il parametro pMesh punta a una matrice di strutture GRADIENT_TRIANGLE.
Valore restituito
EngGradientFill restituisceTRUE al successo. In caso contrario, segnala un errore e restituisce FALSE.
Commenti
Il driver deve chiamare EngGradientFill se ha collegato DrvGradientFill e viene chiamato a fare qualcosa che non supporta.
Le formule usate per calcolare il valore del colore in ogni pixel dipendono dal valore di ulMode come indicato di seguito:
GDI ignora il valore alfa dei vertici, lasciando invariato il canale alfa per le superfici che supportano alfa.
Requisiti
Client minimo supportato | Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Universale |
Intestazione | winddi.h (include Winddi.h) |
Libreria | Win32k.lib |
DLL | Win32k.sys |