Interfaccia IDWriteTextLayout (dwrite.h)
L'interfaccia IDWriteTextLayout rappresenta un blocco di testo dopo che è stato completamente analizzato e formattato.
Ereditarietà
L'interfaccia IDWriteTextLayout eredita da IDWriteTextFormat. IDWriteTextLayout include anche questi tipi di membri:
Metodi
L'interfaccia IDWriteTextLayout include questi metodi.
IDWriteTextLayout::D etermineMinWidth Determina la larghezza minima possibile che il layout possa essere impostato su senza interruzione di emergenza tra i caratteri di intere parole che si verificano. |
IDWriteTextLayout::D raw Disegna testo usando il contesto di disegno client specificato. |
IDWriteTextLayout::GetClusterMetrics Recupera le proprietà logiche e le misurazioni di ogni cluster glifo. |
IDWriteTextLayout::GetDrawingEffect Ottiene l'effetto disegno definito dall'applicazione nella posizione di testo specificata. |
IDWriteTextLayout::GetFontCollection Ottiene la raccolta di caratteri associata al testo nella posizione specificata. |
IDWriteTextLayout::GetFontFamilyName Copia il nome della famiglia di caratteri del testo nella posizione specificata. |
IDWriteTextLayout::GetFontFamilyNameLength Ottenere la lunghezza del nome della famiglia di caratteri nella posizione corrente. |
IDWriteTextLayout::GetFontSize Ottiene l'altezza del carattere em del testo nella posizione specificata. |
IDWriteTextLayout::GetFontStretch Ottiene l'estensione del carattere del testo nella posizione specificata. |
IDWriteTextLayout::GetFontStyle Ottiene lo stile del carattere (noto anche come pendenza) del testo nella posizione specificata. |
IDWriteTextLayout::GetFontWeight Ottiene il peso del carattere del testo nella posizione specificata. |
IDWriteTextLayout::GetInlineObject Ottiene l'oggetto inline nella posizione specificata. |
IDWriteTextLayout::GetLineMetrics Recupera le informazioni su ogni singola riga di testo della stringa di testo. |
IDWriteTextLayout::GetLocaleName Ottiene il nome delle impostazioni locali del testo nella posizione specificata. |
IDWriteTextLayout::GetLocaleNameLength Ottiene la lunghezza del nome delle impostazioni locali del testo nella posizione specificata. |
IDWriteTextLayout::GetMaxHeight Ottiene l'altezza massima del layout. |
IDWriteTextLayout::GetMaxWidth Ottiene la larghezza massima del layout. |
IDWriteTextLayout::GetMetrics Recupera le metriche complessive per la stringa formattata. (IDWriteTextLayout.GetMetrics) |
IDWriteTextLayout::GetOverhangMetrics Restituisce gli overhangs (in DIP) del layout e tutti gli oggetti contenuti in esso, inclusi glifi di testo e oggetti inline. |
IDWriteTextLayout::GetStrike through Ottenere la presenza di barratura del testo nella posizione specificata. |
IDWriteTextLayout::GetTypography Ottiene l'impostazione tipografica del testo nella posizione specificata. |
IDWriteTextLayout::GetUnderline Ottiene la presenza di sottolineatura del testo nella posizione specificata. |
IDWriteTextLayout::HitTestPoint L'applicazione chiama questa funzione passando una posizione di pixel specifica rispetto alla posizione superiore sinistra della casella di layout e ottiene le informazioni sulle metriche di hit test corrispondenti della stringa di testo in cui si è verificato il hit test. |
IDWriteTextLayout::HitTestTextPosition L'applicazione chiama questa funzione per ottenere la posizione del pixel rispetto alla casella di layout in alto a sinistra, in base alla posizione di testo e al lato logico della posizione. |
IDWriteTextLayout::HitTestTextRange L'applicazione chiama questa funzione per ottenere un set di metriche di hit test corrispondenti a un intervallo di posizioni di testo. Uno dei principali usi consiste nell'implementare la selezione dell'evidenziazione della stringa di testo. |
IDWriteTextLayout::SetDrawingEffect Imposta l'effetto disegno definito dall'applicazione. |
IDWriteTextLayout::SetFontCollection Imposta la raccolta di caratteri. |
IDWriteTextLayout::SetFontFamilyName Imposta il nome della famiglia di caratteri con terminazione null per il testo all'interno di un intervallo di testo specificato. |
IDWriteTextLayout::SetFontSize Imposta le dimensioni del carattere nelle unità DIP per il testo all'interno di un intervallo di testo specificato. |
IDWriteTextLayout::SetFontStretch Imposta l'estensione del carattere per il testo all'interno di un intervallo di testo specificato. |
IDWriteTextLayout::SetFontStyle Imposta lo stile del tipo di carattere per il testo all'interno di un intervallo di testo specificato da una struttura DWRITE_TEXT_RANGE. |
IDWriteTextLayout::SetFontWeight Imposta il peso del carattere per il testo all'interno di un intervallo di testo specificato da una struttura DWRITE_TEXT_RANGE. |
IDWriteTextLayout::SetInlineObject Imposta l'oggetto inline. |
IDWriteTextLayout::SetLocaleName Imposta il nome delle impostazioni locali per il testo all'interno di un intervallo di testo specificato. |
IDWriteTextLayout::SetMaxHeight Imposta l'altezza massima del layout. |
IDWriteTextLayout::SetMaxWidth Imposta la larghezza massima del layout. |
IDWriteTextLayout::SetStrike through Imposta la procedura di attacco per il testo all'interno di un intervallo di testo specificato. |
IDWriteTextLayout::SetTypography Imposta le funzionalità di tipografia dei tipi di carattere per il testo all'interno di un intervallo di testo specificato. |
IDWriteTextLayout::SetUnderline Imposta la sottolineatura per il testo all'interno di un intervallo di testo specificato. |
Commenti
Per ottenere un riferimento all'interfaccia IDWriteTextLayout , l'applicazione deve chiamare il metodo IDWriteFactory::CreateTextLayout , come illustrato nel codice seguente.
// Create a text layout using the text format.
if (SUCCEEDED(hr))
{
RECT rect;
GetClientRect(hwnd_, &rect);
float width = rect.right / dpiScaleX_;
float height = rect.bottom / dpiScaleY_;
hr = pDWriteFactory_->CreateTextLayout(
wszText_, // The string to be laid out and formatted.
cTextLength_, // The length of the string.
pTextFormat_, // The text format to apply to the string (contains font information, etc).
width, // The width of the layout box.
height, // The height of the layout box.
&pTextLayout_ // The IDWriteTextLayout interface pointer.
);
}
L'interfaccia IDWriteTextLayout consente all'applicazione di modificare il formato per gli intervalli del testo che rappresenta, specificato da una struttura DWRITE_TEXT_RANGE . Nell'esempio seguente viene illustrato come impostare il peso del carattere per un intervallo di testo.
// Set the font weight to bold for the first 5 letters.
DWRITE_TEXT_RANGE textRange = {0, 4};
if (SUCCEEDED(hr))
{
hr = pTextLayout_->SetFontWeight(DWRITE_FONT_WEIGHT_BOLD, textRange);
}
IDWriteTextLayout fornisce anche metodi per l'aggiunta di oggetti strike-through, sottolineatura e inline al testo.
Per disegnare il blocco di testo rappresentato da un oggetto IDWriteTextLayout , Direct2D fornisce il metodo ID2D1RenderTarget::D rawTextLayout . Per disegnare usando un renderer personalizzato implementa un'interfaccia IDWriteTextRenderer e chiamare il metodo IDWriteTextLayout::D raw
DirectWrite e Direct2D
Per disegnare una stringa formattata rappresentata da un oggetto IDWriteTextLayout , Direct2D fornisce il metodo ID2D1RenderTarget::D rawTextLayout .Altre opzioni di rendering
Per eseguire il rendering usando un renderer personalizzato, usare il metodo IDWriteTextLayout::D raw , che accetta un'interfaccia di callback derivata da IDWriteTextRenderer come argomento, come illustrato nel codice seguente.
// Draw the text layout using DirectWrite and the CustomTextRenderer class.
hr = pTextLayout_->Draw(
NULL,
pTextRenderer_, // Custom text renderer.
origin.x,
origin.y
);
IDWriteTextRenderer dichiara metodi per il disegno di un'esecuzione, una sottolineatura, una sottolineatura, un attacco e oggetti inline. L'applicazione deve implementare questi metodi. La creazione di un renderer di testo personalizzato consente all'applicazione di applicare effetti aggiuntivi durante il rendering del testo, ad esempio un riempimento o una struttura personalizzata.
L'uso di un renderer di testo personalizzato consente anche di eseguire il rendering usando un'altra tecnologia, ad esempio GDI.
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 |