Condividi tramite


Funzione DrvTextOut (winddi.h)

La funzione DrvTextOut è il punto di ingresso di GDI che chiama il driver per eseguire il rendering di un set di glifi in posizioni specificate.

Sintassi

BOOL DrvTextOut(
  SURFOBJ  *pso,
  STROBJ   *pstro,
  FONTOBJ  *pfo,
  CLIPOBJ  *pco,
  RECTL    *prclExtra,
  RECTL    *prclOpaque,
  BRUSHOBJ *pboFore,
  BRUSHOBJ *pboOpaque,
  POINTL   *pptlOrg,
  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 posizionarle.

pfo

Puntatore a una struttura FONTOBJ da cui recuperare informazioni sul tipo di carattere e sui relativi glifi.

pco

Puntatore a una struttura CLIPOBJ che definisce l'area clip tramite cui è necessario eseguire tutto il rendering. Il driver non può influire sui pixel esterni all'area di clip.

prclExtra

Puntatore a una struttura RECTL. GDI imposta sempre questo parametro su NULL nelle chiamate a questa funzione. Deve essere ignorato dal driver.

prclOpaque

Puntatore a una struttura RECTL che rappresenta un singolo rettangolo opaco. Questo rettangolo è 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 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.

mix

Modalità di combinazione che definisce le operazioni raster in primo piano e in background da usare per il pennello a cui pboFore punta. Per altre informazioni sulla modalità di combinazione, vedere Osservazioni.

Valore restituito

Il valore restituito è TRUE se la funzione ha esito positivo; in caso contrario, è FALSE.

Commenti

I parametri di input di DrvTextOut definiscono due set di pixel: primo piano e opaco. Il driver deve eseguire il rendering della superficie in modo che il risultato sia identico a un processo in cui i pixel opachi vengono visualizzati prima con il pennello opaco e quindi i pixel in primo piano vengono sottoposti a rendering con il pennello in primo piano. Ognuna di queste operazioni è limitata dal ritaglio.

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 DrvTextOut definiscono il set di pixel del glifo, il set di rettangoli aggiuntivi, il rettangolo opaco e l'area clip. È responsabilità del driver calcolare e quindi eseguire il rendering del set di pixel in primo piano e opaco.

GDI garantisce che DrvTextOut e DrvDestroyFont non si sovrapponga mai; di conseguenza, il driver può basarsi su informazioni memorizzate nella cache durante l'elaborazione di una chiamata DrvTextOut .

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 di operazione raster binaria (ROP2) compressi in una singola ULONG. Il byte più basso 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.

Si tratta di una funzione richiesta in modo condizionale.

Requisiti

   
Piattaforma di destinazione Desktop
Intestazione winddi.h (include Winddi.h)

Vedi anche

CLIPOBJ

DEVINFO

DrvDestroyFont

FONTOBJ

STROBJ

SURFOBJ