Funzione EngTextOut (winddi.h)
La funzione EngTextOut causa il rendering di un set di glifi in posizioni specificate.
Sintassi
ENGAPI BOOL EngTextOut(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
[in] MIX mix
);
Parametri
pso
Puntatore a una struttura SURFOBJ che descrive la superficie su cui scrivere.
pstro
Puntatore a una struttura STROBJ che definisce i glifi da eseguire e le posizioni in cui devono essere posizionate.
pfo
Puntatore a una struttura FONTOBJ usata per recuperare informazioni sul tipo di carattere e sui relativi glifi.
pco
Puntatore a una struttura CLIPOBJ che definisce l'area clip tramite cui eseguire il rendering. Nessun pixel può essere interessato all'esterno di questa area clip.
prclExtra
Puntatore a una struttura RECTL . Questo parametro deve sempre essere NULL.
prclOpaque
Puntatore a una struttura RECTL che identifica un singolo rettangolo opaco che è esclusivo in basso a destra. I pixel all'interno di questo rettangolo (quelli non in primo piano e non ritagliati) devono essere sottoposti a rendering con il pennello opaco. Questo rettangolo delimita sempre il testo da disegnare. Se questo parametro è NULL, non devono essere visualizzati pixel opachi.
pboFore
Puntatore a una struttura BRUSHOBJ che rappresenta l'oggetto pennello da utilizzare per i pixel in primo piano. Questo pennello sarà sempre un pennello a tinta unita.
pboOpaque
Puntatore a una struttura BRUSHOBJ che rappresenta l'oggetto pennello per i pixel opachi. Si presuppone che sia le modalità di combinazione in primo piano che in background per questo pennello siano R2_COPYPEN. A meno che il driver non imposta le funzionalità GCAPS_ARBRUSHOPAQUE bit nel membro flGraphicsCaps della struttura DEVINFO , verrà sempre chiamato con un pennello a tinta unita.
pptlOrg
Puntatore a una struttura POINTL che definisce l'origine del pennello per entrambi i pennelli. Se questo parametro è impostato su 0 quando viene chiamato EngTextOut , alcuni driver della stampante potrebbero stampare immagini di colore in modo errato. Per altre informazioni, vedere Osservazioni.
[in] mix
Specifica operazioni raster in primo piano e in background (modalità mix) per pboFore.
Valore restituito
Il valore restituito è TRUE se la funzione ha esito positivo. In caso contrario, è FALSE e viene registrato un codice di errore.
Commenti
Il driver deve chiamare EngTextOut quando ha collegato DrvTextOut e non può eseguire il rendering dei glifi.
Quando il parametro pptlOrg di questa funzione è impostato su 0, alcuni driver della stampante stampano immagini di colore in modo errato in Microsoft Windows Server 2003 (versione giapponese). L'impostazione di pptlOrg su 0, un valore puntatore NULL , viene interpretato per indicare che non è definita alcuna origine pennello. Per evitare questo problema, inizializzare pptlOrg con l'indirizzo di una struttura POINTL i cui membri sono impostati su (0,0), prima della chiamata a EngTextOut.
I pixel in primo piano e opachi vengono considerati come uno schermo attraverso il quale il colore viene pennellato sulla superficie. I glifi del tipo di carattere non hanno colore in sé.
I parametri di input di EngTextOut definiscono il set di pixel del glifo, il set di rettangoli aggiuntivi, il rettangolo opaco e l'area clip. Il driver deve calcolare e quindi eseguire il rendering del set di pixel in primo piano e opaco.
La modalità mix definisce il modo in cui il modello in ingresso deve essere misto con i dati già presenti nell'area del dispositivo. Il tipo di dati MIX è costituito da due valori ROP2 compressi in una singola ULONG. Il byte a basso ordine definisce l'operazione raster in primo piano; il byte successivo definisce l'operazione raster in background. Per altre informazioni sui codici di operazione raster, vedere la documentazione di Microsoft Windows SDK.
Requisiti
Client minimo supportato | Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Universale |
Intestazione | winddi.h (include Winddi.h) |
Libreria | Win32k.lib |
DLL | Win32k.sys |