EngGradientFill-Funktion (winddi.h)
Die EngGradientFill-Funktion schattiert die angegebenen Grundtypen.
Syntax
ENGAPI BOOL EngGradientFill(
SURFOBJ *psoDest,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
TRIVERTEX *pVertex,
ULONG nVertex,
PVOID pMesh,
ULONG nMesh,
RECTL *prclExtents,
POINTL *pptlDitherOrg,
[in] ULONG ulMode
);
Parameter
psoDest
Zeiger auf die SURFOBJ-Struktur , die die Oberfläche identifiziert, auf der gezeichnet werden soll.
pco
Zeiger auf eine CLIPOBJ-Struktur . Die CLIPOBJ_Xxx-Dienstroutinen werden bereitgestellt, um den Clipbereich als Eine Reihe von Rechtecken aufzulisten. Diese Enumeration schränkt den Bereich des geänderten Ziels ein. Nach Möglichkeit vereinfacht GDI den Ausschnitt.
pxlo
Zeiger auf eine XLATEOBJ-Struktur . Diese Struktur gibt an, wie Farbindizes zwischen dem 32-bpp-RGB-Format und dem Ziel übersetzt werden sollen. Der Treiber ist für die Konvertierung der Eingabe COLOR16 Farbwerte in RGB verantwortlich.
pVertex
Zeiger auf ein Array von TRIVERTEX-Strukturen, wobei jeder Eintrag Positions- und Farbinformationen enthält. Die TRIVERTEX-Struktur wird in der Microsoft Windows SDK-Dokumentation beschrieben.
nVertex
Gibt die Anzahl der TRIVERTEX-Strukturen im Array an, auf das pVertex zeigt.
pMesh
Zeiger auf ein Array von Strukturen, die die Konnektivität der TRIVERTEX-Elemente definieren, auf die pVertex zeigt.
Wenn Rechtecke gezeichnet werden, zeigt pMesh auf ein Array von GRADIENT_RECT Strukturen, von denen jedes zwei TRIVERTEX-Elemente angibt, die ein Rechteck definieren. Die TRIVERTEX-Elemente können jedes diagonal entgegengesetzte Paar von rechteckigen Scheitelpunkten darstellen. Das Zeichnen von Rechtecken ist unten rechts exklusiv. Sowohl TRIVERTEX als auch GRADIENT_RECT sind in der Windows SDK-Dokumentation definiert.
Wenn Dreiecke gezeichnet werden, zeigt pMesh auf ein Array von GRADIENT_TRIANGLE Strukturen, von denen jedes die drei TRIVERTEX-Elemente angibt, die ein Dreieck definieren. Dreieckszeichnung ist unten rechts exklusiv. Die GRADIENT_TRIANGLE-Struktur ist in der Windows SDK-Dokumentation definiert.
nMesh
Gibt die Anzahl der Elemente im Array an, auf die pMesh zeigt.
prclExtents
Zeiger auf eine RECTL-Struktur , die den Bereich definiert, in dem die Farbverlaufszeichnung erfolgen soll. Die Punkte werden im Koordinatensystem der Zieloberfläche angegeben. Dieser Parameter ist nützlich, um die Größe der Zeichnungsvorgänge zu schätzen.
pptlDitherOrg
Zeiger auf eine POINTL-Struktur , die den Ursprung auf der Oberfläche für dithering definiert. Das obere linke Pixel des Dithermusters wird an diesem Punkt ausgerichtet.
[in] ulMode
Gibt den aktuellen Zeichnungsmodus und die Interpretation des Arrays an, auf das pMesh zeigt. Dieser Parameter kann einer der folgenden Werte sein:
GRADIENT_FILL_RECT_H
Der pMesh-Parameter verweist auf ein Array von GRADIENT_RECT Strukturen. Jedes Rechteck muss von links nach rechts schattiert werden.
GRADIENT_FILL_RECT_V
Der pMesh-Parameter verweist auf ein Array von GRADIENT_RECT Strukturen. Jedes Rechteck muss von oben nach unten schattiert werden.
GRADIENT_FILL_TRIANGLE
Der pMesh-Parameter verweist auf ein Array von GRADIENT_TRIANGLE Strukturen.
Rückgabewert
EngGradientFill gibt bei Erfolg TRUE zurück. Andernfalls wird ein Fehler gemeldet und FALSE zurückgegeben.
Hinweise
Der Treiber sollte EngGradientFill aufrufen, wenn er DrvGradientFill eingebunden hat und aufgerufen wird, um etwas zu tun, das er nicht unterstützt.
Die Formeln, die zum Berechnen des Farbwerts für jedes Pixel verwendet werden, hängen wie folgt vom Wert von ulMode ab:
GDI ignoriert den Alphawert der Scheitelpunkte und lässt den Alphakanal für Oberflächen unverändert, die Alpha unterstützen.
Anforderungen
Unterstützte Mindestversion (Client) | Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Universell |
Header | winddi.h (einschließlich Winddi.h) |
Bibliothek | Win32k.lib |
DLL | Win32k.sys |