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) |