EngTextOut-Funktion (winddi.h)
Die EngTextOut-Funktion bewirkt, dass GDI einen Satz von Glyphen an angegebenen Positionen rendert.
Syntax
ENGAPI BOOL EngTextOut(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
[in] 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 , die zum Abrufen von Informationen über die Schriftart und ihre Glyphen verwendet wird.
pco
Zeiger auf eine CLIPOBJ-Struktur , die den Clipbereich definiert, über den das Rendering erfolgen muss. Außerhalb dieses Clipbereichs können keine Pixel betroffen sein.
prclExtra
Zeiger auf eine RECTL-Struktur . Dieser Parameter sollte immer NULL sein.
prclOpaque
Zeiger auf eine RECTL-Struktur, die ein einzelnes undurchsichtiges Rechteck identifiziert, das exklusiv unten rechts ist. 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 das Pinselobjekt für 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. Wenn dieser Parameter beim Aufruf von EngTextOut auf 0 festgelegt ist, können einige Druckertreiber Farbbilder falsch drucken. Weitere Informationen finden Sie unter Hinweise.
[in] mix
Gibt Vordergrund- und Hintergrundrastervorgänge (Mischmodi) für pboFore an.
Rückgabewert
Der Rückgabewert ist TRUE , wenn die Funktion erfolgreich ist. Andernfalls ist es FALSE, und ein Fehlercode wird protokolliert.
Hinweise
Der Treiber sollte EngTextOut aufrufen, wenn er DrvTextOut eingebunden hat und die Glyphen nicht rendern kann.
Wenn der pptlOrg-Parameter dieser Funktion auf 0 festgelegt ist, drucken einige Druckertreiber Farbbilder falsch in Microsoft Windows Server 2003 (japanische Version). Das Festlegen von pptlOrg auf 0, einem NULL-Zeigerwert , wird so interpretiert, dass kein Pinselursprung definiert ist. Um dieses Problem zu verhindern, initialisieren Sie pptlOrg mit der Adresse einer POINTL-Struktur, deren Member vor dem Aufruf von EngTextOut auf (0,0) festgelegt sind.
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 EngTextOut definieren den Satz von Glyphenpixeln, den Satz zusätzlicher Rechtecke, das undurchsichtige Rechteck und den Clipbereich. Der Treiber muss den Satz von Vordergrund- und undurchsichtigen Pixeln berechnen und dann rendern.
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, die in eine einzelne ULONG gepackt sind. Das Byte mit niedriger 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
Unterstützte Mindestversion (Client) | Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Universell |
Header | winddi.h (einschließlich Winddi.h) |
Bibliothek | Win32k.lib |
DLL | Win32k.sys |