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

Vedi anche

DrvGradientFill