Share via


DrvRealizeBrush-Funktion (winddi.h)

Die DrvRealizeBrush-Funktion fordert den Treiber auf, einen angegebenen Pinsel für eine angegebene Oberfläche zu realisieren.

Syntax

BOOL DrvRealizeBrush(
  [in]           BRUSHOBJ *pbo,
  [in, out]      SURFOBJ  *psoTarget,
  [in]           SURFOBJ  *psoPattern,
  [in, optional] SURFOBJ  *psoMask,
  [in]           XLATEOBJ *pxlo,
  [in]           ULONG    iHatch
);

Parameter

[in] pbo

Zeiger auf die BRUSHOBJ-Struktur , die realisiert werden soll. Alle anderen Parameter mit Ausnahme von psoTarget können von diesem Objekt abgefragt werden. Parameterspezifikationen werden als Optimierung bereitgestellt. Dieser Parameter wird am besten nur als Parameter für BRUSHOBJ_pvAllocRbrush verwendet, der den Arbeitsspeicher für den realisierten Pinsel zuordnet.

[in, out] psoTarget

Zeiger auf die SURFOBJ-Struktur , für die der Pinsel realisiert werden soll. Diese Oberfläche kann die physische Oberfläche für das Gerät, eine Bitmap im Geräteformat oder eine Bitmap im Standardformat sein.

[in] psoPattern

Zeiger auf die SURFOBJ-Struktur, die das Muster für den Pinsel beschreibt. Für ein Rastergerät ist dies eine Bitmap. Für ein Vektorgerät ist dies eine der Musteroberflächen, die von DrvEnablePDEV bereitgestellt werden.

[in, optional] psoMask

Zeiger auf eine SURFOBJ-Struktur, die eine Transparenzmaske für den Pinsel beschreibt. Dies ist eine 1-Bit-Bitmap pro Pixel, die denselben Umfang wie das Muster aufweist. Eine Maske von null bedeutet, dass das Pixel als Hintergrundpixel für den Pinsel betrachtet wird. (Im transparenten Hintergrundmodus sind die Hintergrundpixel in einer Füllung nicht betroffen.) Plotter können diesen Parameter ignorieren, da sie niemals Hintergrundinformationen zeichnen.

[in] pxlo

Zeiger auf eine XLATEOBJ-Struktur , die die Interpretation von Farben im Muster definiert. Wenn pxloNULL ist, ist keine Übersetzung erforderlich. Eine XLATEOBJ_Xxx-Dienstroutine kann aufgerufen werden, um die Farben in Gerätefarbindizes zu übersetzen. Vektorgeräte sollten Farbe Null durch XLATEOBJ übersetzen, um die Vordergrundfarbe für den Pinsel zu erhalten.

[in] iHatch

Gibt an, ob psoPattern einer der von DrvEnablePDEV zurückgegebenen Schraffurpinsel ist. Dies gilt, wenn der Wert dieses Parameters kleiner als HS_DDI_MAX ist, der in winddi.h definiert ist.

Rückgabewert

Der Rückgabewert ist TRUE , wenn der Pinsel erfolgreich realisiert wurde. Andernfalls ist es FALSE, und ein Fehlercode wird protokolliert.

Hinweise

Um einen Pinsel zu realisieren, konvertiert der Treiber einen GDI-Pinsel in eine Form, die intern verwendet werden kann. Ein realisierter Pinsel enthält gerätespezifische Informationen, die das Gerät benötigt, um das Zeichnen mit dem Pinsel zu beschleunigen.

Die Realisierung eines Pinsels durch den Treiber wird in den Puffer geschrieben, der durch einen Aufruf von BRUSHOBJ_pvAllocRbrush zugeordnet wird.

DrvRealizeBrush ist für einen Treiber erforderlich, der jede Zeichnung auf eine beliebige Oberfläche ausführt.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile winddi.h (einschließlich Winddi.h)

Weitere Informationen

BRUSHOBJ

BRUSHOBJ_pvAllocRbrush

DrvEnablePDEV

XLATEOBJ