DrvFillPath-Funktion (winddi.h)
Die DrvFillPath-Funktion ist ein optionaler Einstiegspunkt zum Verarbeiten des Füllens geschlossener Pfade.
Syntax
BOOL DrvFillPath(
[in, out] SURFOBJ *pso,
[in] PATHOBJ *ppo,
[in] CLIPOBJ *pco,
[in] BRUSHOBJ *pbo,
[in] POINTL *pptlBrushOrg,
[in] MIX mix,
[in] FLONG flOptions
);
Parameter
[in, out] pso
Zeiger auf eine SURFOBJ-Struktur , die die Oberfläche definiert, auf der gezeichnet werden soll.
[in] ppo
Zeiger auf eine PATHOBJ-Struktur , die den zu füllenden Pfad definiert. Die PATHOBJ_Xxx-Dienstroutinen werden bereitgestellt, um die Linien, Bezierkurven und andere Daten aufzulisten, aus denen der Pfad besteht.
[in] pco
Zeiger auf eine CLIPOBJ-Struktur . Die CLIPOBJ_Xxx-Dienstroutinen werden bereitgestellt, um den Clipbereich als Gruppe von Rechtecken aufzulisten.
[in] pbo
Zeiger auf eine BRUSHOBJ-Struktur , die das Muster und die Farben definiert, die zum Ausfüllen des geschlossenen Pfads verwendet werden. Dieser Parameter sollte nur dann abgeleitet werden, wenn für den im Mix angegebenen Füllvorgang die Verwendung eines Pinsels erforderlich ist. Wenn mix beispielsweise auf BLACKNESS festgelegt ist, ist pbo nicht definiert und sollte nicht abgeleitet werden.
[in] pptlBrushOrg
Zeiger auf eine POINTL-Struktur , die den Pinselursprung definiert, der verwendet wird, um das Pinselmuster auf dem Gerät auszurichten.
[in] mix
Der Mischmodus, der die Für den Pinsel zu verwendenden Rastervorgänge im Vordergrund und im Hintergrund definiert. Weitere Informationen zum Mischmodus finden Sie unter Hinweise.
[in] flOptions
Gibt entweder FP_WINDINGMODE an, der angibt, dass eine Füllung im Wickelmodus ausgeführt werden soll, oder FP_ALTERNATEMODE, was angibt, dass eine Füllung im alternierenden Modus ausgeführt werden soll. Alle anderen Flags sollten ignoriert werden. Weitere Informationen zu diesen Modi finden Sie unter Pfadfüllmodi.
Rückgabewert
Der Rückgabewert ist TRUE , wenn der Treiber den Pfad ausfüllen kann. Wenn der Pfad oder das Abschneiden zu komplex ist, um vom Treiber verarbeitet zu werden, und sollte von GDI behandelt werden, ist der Rückgabewert FALSE, und ein Fehlercode wird nicht protokolliert. Wenn beim Treiber ein unerwarteter Fehler auftritt, z. B. dass der Pinsel nicht erkannt werden kann, wird der Rückgabewert DDI_ERROR, und ein Fehlercode wird protokolliert.
Hinweise
GDI kann DrvFillPath aufrufen, um einen Pfad auf einer geräteseitig verwalteten Oberfläche auszufüllen. Bei der Entscheidung, ob diese Funktion aufgerufen werden soll, vergleicht GDI die Füllanforderungen mit den folgenden Flags im flGraphicsCaps-Member der DEVINFO-Struktur : GCAPS_BEZIERS, GCAPS_ALTERNATEFILL und GCAPS_WINDINGFILL.
Der Mixmodus definiert, wie das eingehende Muster mit den Daten gemischt werden soll, die sich bereits auf der Geräteoberfläche befinden. Der MIX-Datentyp besteht aus zwei ROP2-Werten (Binary Raster Operation), die in eine einzelne ULONG gepackt sind. Das Byte der niedrigsten Ordnung definiert den Rastervorgang im Vordergrund. das nächste Byte definiert den Hintergrundrastervorgang. Weitere Informationen zu Rastervorgangscodes finden Sie in der Microsoft Windows SDK-Dokumentation.
Anforderungen
Zielplattform | Desktop |
Kopfzeile | winddi.h (einschließlich Winddi.h) |