Freigeben über


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)

Weitere Informationen

BRUSHOBJ

CLIPOBJ

DEVINFO

DrvStrokeAndFillPath

PATHOBJ

SURFOBJ