Share via


DrvTextOut-Funktion (winddi.h)

Die DrvTextOut-Funktion ist der Einstiegspunkt von GDI, der den Treiber aufruft, um eine Reihe von Glyphen an angegebenen Positionen zu rendern.

Syntax

BOOL DrvTextOut(
  SURFOBJ  *pso,
  STROBJ   *pstro,
  FONTOBJ  *pfo,
  CLIPOBJ  *pco,
  RECTL    *prclExtra,
  RECTL    *prclOpaque,
  BRUSHOBJ *pboFore,
  BRUSHOBJ *pboOpaque,
  POINTL   *pptlOrg,
  MIX      mix
);

Parameter

pso

Zeiger auf eine SURFOBJ-Struktur , die die Oberfläche beschreibt, auf die geschrieben werden soll.

pstro

Zeiger auf eine STROBJ-Struktur , die die zu rendernden Glyphen und die Positionen definiert, an denen sie platziert werden sollen.

pfo

Zeiger auf eine FONTOBJ-Struktur , aus der Informationen über die Schriftart und ihre Glyphen abgerufen werden sollen.

pco

Zeiger auf eine CLIPOBJ-Struktur , die den Clipbereich definiert, über den das gesamte Rendering erfolgen muss. Der Treiber kann keine Pixel außerhalb des Clipbereichs beeinflussen.

prclExtra

Zeiger auf eine RECTL-Struktur. GDI legt diesen Parameter in Aufrufen dieser Funktion immer auf NULL fest. Sie sollte vom Treiber ignoriert werden.

prclOpaque

Zeiger auf eine RECTL-Struktur , die ein einzelnes undurchsichtiges Rechteck darstellt. Dieses Rechteck ist exklusiv unten rechts. Pixel innerhalb dieses Rechtecks (die nicht im Vordergrund und nicht abgeschnitten sind) müssen mit dem undurchsichtigen Pinsel gerendert werden. Dieses Rechteck gebundene immer den zu zeichnenden Text. Wenn dieser Parameter NULL ist, werden keine undurchsichtigen Pixel gerendert.

pboFore

Zeiger auf eine BRUSHOBJ-Struktur , die das Pinselobjekt darstellt, das für die Vordergrundpixel verwendet werden soll. Dieser Pinsel ist immer ein Einfarbigpinsel.

pboOpaque

Zeiger auf eine BRUSHOBJ-Struktur, die die undurchsichtigen Pixel darstellt. Es wird davon ausgegangen, dass sowohl der Vordergrund- als auch der Hintergrundmixmodus für diesen Pinsel R2_COPYPEN sind. Wenn der Treiber das GCAPS_ARBRUSHOPAQUE-Funktionenbits im flGraphicsCaps-Member der DEVINFO-Struktur nicht festlegt, wird es immer mit einem Volltonpinsel aufgerufen.

pptlOrg

Zeiger auf eine POINTL-Struktur , die den Pinselursprung für beide Pinsel definiert.

mix

Der Mixmodus, der die Rastervorgänge im Vordergrund und im Hintergrund definiert, die für den Pinsel verwendet werden sollen, auf den pboFore zeigt. Weitere Informationen zum Mischmodus finden Sie unter Hinweise.

Rückgabewert

Der Rückgabewert ist TRUE , wenn die Funktion erfolgreich ist. Andernfalls ist es FALSE.

Hinweise

Die Eingabeparameter für DrvTextOut definieren zwei Sätze von Pixeln: Vordergrund und undurchsichtig. Der Treiber muss die Oberfläche rendern, sodass das Ergebnis mit einem Prozess identisch ist, bei dem die undurchsichtigen Pixel zuerst mit dem undurchsichtigen Pinsel gerendert und dann die Vordergrundpixel mit dem Vordergrundpinsel gerendert werden. Jeder dieser Vorgänge wird durch Ausschneiden eingeschränkt.

Die Vordergrund- und undurchsichtigen Pixel werden als Bildschirm betrachtet, durch den Farbe auf die Oberfläche gebürstet wird. Die Glyphen der Schriftart haben keine Farbe in sich.

Die Eingabeparameter für DrvTextOut definieren den Satz von Glyphenpixeln, den Satz zusätzlicher Rechtecke, das undurchsichtige Rechteck und den Clipbereich. Es liegt in der Verantwortung des Treibers, den Satz der Vordergrund- und undurchsichtigen Pixel zu berechnen und dann zu rendern.

GDI garantiert, dass Sich DrvTextOut und DrvDestroyFont nie überschneiden; Daher kann sich der Treiber bei der Verarbeitung eines DrvTextOut-Aufrufs auf zwischengespeicherte Informationen verlassen.

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.

Dies ist eine bedingt erforderliche Funktion.

Anforderungen

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

Weitere Informationen

CLIPOBJ

DEVINFO

DrvDestroyFont

FONTOBJ

STROBJ

SURFOBJ