Metodo IDWriteTextRenderer::D rawUnderline (dwrite.h)
IDWriteTextLayout::Draw chiama questa funzione per indicare al client di disegnare una sottolineatura.
Sintassi
HRESULT DrawUnderline(
void *clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
[in] DWRITE_UNDERLINE const *underline,
IUnknown *clientDrawingEffect
);
Parametri
clientDrawingContext
Tipo: void*
Contesto di disegno definito dall'applicazione passato a IDWriteTextLayout::Draw.
baselineOriginX
Tipo: FLOAT
Posizione in pixel (coordinata X) in corrispondenza dell'origine di base dell'esecuzione in cui si applica la sottolineatura.
baselineOriginY
Tipo: FLOAT
Posizione in pixel (coordinata Y) in corrispondenza dell'origine di base dell'esecuzione in cui si applica la sottolineatura.
[in] underline
Tipo: const DWRITE_UNDERLINE*
Puntatore a una struttura contenente informazioni logiche di sottolineatura.
clientDrawingEffect
Tipo: IUnknown*
Effetto definito dall'applicazione da applicare alla sottolineatura. In genere questo argomento rappresenta effetti come il pennello in primo piano che riempie l'interno di una linea.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Una singola sottolineatura può essere suddivisa in più chiamate, a seconda del modo in cui la formattazione modifica gli attributi. Se le dimensioni/gli stili del carattere cambiano all'interno di una sottolineatura, lo spessore e l'offset verranno ponderati in base ai caratteri. Per ottenere una posizione in pixel iniziale appropriata, aggiungere underline::offset alla linea di base. In caso contrario, non ci sarà spaziatura tra il testo. La coordinata x verrà sempre passata come lato sinistro, indipendentemente dalla direzionalità del testo. Questo semplifica il disegno e riduce il problema di arrotondamento che potrebbe causare lacune o una doppia miscela alfa stampata. Per evitare sovrapposizioni alfa, arrotondare i punti finali al pixel del dispositivo più vicino.
Requisiti
Client minimo supportato | Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | dwrite.h |
Libreria | Dwrite.lib |
DLL | Dwrite.dll |