Share via


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.

Hinweis Der Treiber kann nicht mit EngTextOut versehen werden, wenn er DrvTextOut für eine geräteverwaltete Oberfläche eingebunden hat.
 
Die Eingabeparameter für EngTextOut definieren zwei Sätze von Pixeln: vordergrund und undurchsichtig. Der Treiber muss die Oberfläche rendern, damit das Ergebnis mit einem Prozess identisch ist, bei dem die undurchsichtigen Pixel zuerst mit dem undurchsichtigen Pinsel gerendert werden und dann die Vordergrundpixel mit dem Vordergrundpinsel gerendert werden. Jeder dieser Vorgänge wird durch Ausschneiden eingeschränkt.

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

Weitere Informationen

CLIPOBJ

DEVINFO

DrvTextOut

FONTOBJ

STROBJ

SURFOBJ