Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
La interfaz IDWriteTextLayout representa un bloque de texto después de que se haya analizado y formateado por completo.
Herencia
La interfaz IDWriteTextLayout hereda de IDWriteTextFormat. IDWriteTextLayout también tiene estos tipos de miembros:
Métodos
La interfaz IDWriteTextLayout tiene estos métodos.
|
IDWriteTextLayout::D etermineMinWidth Determina el ancho mínimo posible en el que se puede establecer el diseño sin que se produzca una interrupción de emergencia entre los caracteres de palabras completas. |
|
IDWriteTextLayout::D raw Dibuja texto mediante el contexto de dibujo de cliente especificado. |
|
IDWriteTextLayout::GetClusterMetrics Recupera las propiedades lógicas y las medidas de cada clúster de glifos. |
|
IDWriteTextLayout::GetDrawingEffect Obtiene el efecto de dibujo definido por la aplicación en la posición de texto especificada. |
|
IDWriteTextLayout::GetFontCollection Obtiene la colección de fuentes asociada al texto en la posición especificada. |
|
IDWriteTextLayout::GetFontFamilyName Copia el nombre de familia de fuentes del texto en la posición especificada. |
|
IDWriteTextLayout::GetFontFamilyNameLength Obtiene la longitud del nombre de familia de fuentes en la posición actual. |
|
IDWriteTextLayout::GetFontSize Obtiene la altura em de fuente del texto en la posición especificada. |
|
IDWriteTextLayout::GetFontStretch Obtiene la extensión de fuente del texto en la posición especificada. |
|
IDWriteTextLayout::GetFontStyle Obtiene el estilo de fuente (también conocido como pendiente) del texto en la posición especificada. |
|
IDWriteTextLayout::GetFontWeight Obtiene el peso de fuente del texto en la posición especificada. |
|
IDWriteTextLayout::GetInlineObject Obtiene el objeto insertado en la posición especificada. |
|
IDWriteTextLayout::GetLineMetrics Recupera la información sobre cada línea de texto individual de la cadena de texto. |
|
IDWriteTextLayout::GetLocaleName Obtiene el nombre local del texto de la posición especificada. |
|
IDWriteTextLayout::GetLocaleNameLength Obtiene la longitud del nombre de configuración regional del texto en la posición especificada. |
|
IDWriteTextLayout::GetMaxHeight Obtiene el alto máximo del diseño. |
|
IDWriteTextLayout::GetMaxWidth Obtiene el ancho máximo del diseño. |
|
IDWriteTextLayout::GetMetrics Recupera las métricas generales de la cadena con formato. (IDWriteTextLayout.GetMetrics) |
|
IDWriteTextLayout::GetOverhangMetrics Devuelve los voladizos (en DIP) del diseño y todos los objetos contenidos en él, incluidos glifos de texto y objetos insertados. |
|
IDWriteTextLayout::GetStrikethrough Obtiene la presencia de tachado del texto en la posición especificada. |
|
IDWriteTextLayout::GetTypography Obtiene el valor de tipografía del texto en la posición especificada. |
|
IDWriteTextLayout::GetUnderline Obtiene la presencia de subrayado del texto en la posición especificada. |
|
IDWriteTextLayout::HitTestPoint La aplicación llama a esta función pasando una ubicación de píxel específica en relación con la ubicación superior izquierda del cuadro de diseño y obtiene la información sobre las métricas de prueba de posicionamiento correspondientes de la cadena de texto donde se ha producido la prueba de posicionamiento. |
|
IDWriteTextLayout::HitTestTextPosition La aplicación llama a esta función para obtener la ubicación de píxeles en relación con la parte superior izquierda del cuadro de diseño según la posición de texto y el lado lógico de la posición. |
|
IDWriteTextLayout::HitTestTextRange La aplicación llama a esta función para obtener un conjunto de métricas de prueba de posicionamiento correspondientes a un intervalo de posiciones de texto. Uno de los usos principales es implementar la selección de resaltado de la cadena de texto. |
|
IDWriteTextLayout::SetDrawingEffect Establece el efecto de dibujo definido por la aplicación. |
|
IDWriteTextLayout::SetFontCollection Establece la colección de fuentes. |
|
IDWriteTextLayout::SetFontFamilyName Establece el nombre de familia de fuentes terminada en null para el texto dentro de un intervalo de texto especificado. |
|
IDWriteTextLayout::SetFontSize Establece el tamaño de fuente en unidades DIP para texto dentro de un intervalo de texto especificado. |
|
IDWriteTextLayout::SetFontStretch Establece la extensión de fuente para el texto dentro de un intervalo de texto especificado. |
|
IDWriteTextLayout::SetFontStyle Establece el estilo de fuente del texto dentro de un intervalo de texto especificado por una estructura DWRITE_TEXT_RANGE. |
|
IDWriteTextLayout::SetFontWeight Establece el grosor de fuente del texto dentro de un intervalo de texto especificado por una estructura de DWRITE_TEXT_RANGE. |
|
IDWriteTextLayout::SetInlineObject Establece el objeto insertado. |
|
IDWriteTextLayout::SetLocaleName Establece el nombre de la configuración regional del texto dentro de un intervalo de texto especificado. |
|
IDWriteTextLayout::SetMaxHeight Establece el alto máximo del diseño. |
|
IDWriteTextLayout::SetMaxWidth Establece el ancho máximo del diseño. |
|
IDWriteTextLayout::SetStrikethrough Establece tachado para texto dentro de un intervalo de texto especificado. |
|
IDWriteTextLayout::SetTypography Establece las características de tipografía de fuente para texto dentro de un intervalo de texto especificado. |
|
IDWriteTextLayout::SetUnderline Establece la esquematización del texto dentro de un intervalo de texto especificado. |
Comentarios
Para obtener una referencia a la interfaz IDWriteTextLayout , la aplicación debe llamar al método IDWriteFactory::CreateTextLayout , como se muestra en el código siguiente.
// 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.
);
}
La interfaz IDWriteTextLayout permite a la aplicación cambiar el formato de los intervalos del texto que representa, especificado por una estructura DWRITE_TEXT_RANGE . En el ejemplo siguiente se muestra cómo establecer el peso de fuente de un intervalo de texto.
// 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 también proporciona métodos para agregar objetos tachados, subrayados e insertados al texto.
Para dibujar el bloque de texto representado por un objeto IDWriteTextLayout , Direct2D proporciona el método ID2D1RenderTarget::D rawTextLayout . Para dibujar mediante un representador personalizado, implemente una interfaz IDWriteTextRenderer y llame al método IDWriteTextLayout::D raw .
DirectWrite y Direct2D
Para dibujar una cadena con formato representada por un objeto IDWriteTextLayout , Direct2D proporciona el método ID2D1RenderTarget::D rawTextLayout .Otras opciones de representación
Para representar con un representador personalizado, use el método IDWriteTextLayout::D raw , que toma una interfaz de devolución de llamada derivada de IDWriteTextRenderer como argumento, como se muestra en el código siguiente.
// Draw the text layout using DirectWrite and the CustomTextRenderer class.
hr = pTextLayout_->Draw(
NULL,
pTextRenderer_, // Custom text renderer.
origin.x,
origin.y
);
IDWriteTextRenderer declara métodos para dibujar una ejecución de glifo, subrayado, tachado y objetos insertados. Es necesario que la aplicación implemente estos métodos. La creación de un representador de texto personalizado permite a la aplicación aplicar efectos adicionales al representar texto, como un relleno personalizado o un contorno.
El uso de un representador de texto personalizado también permite representar con otra tecnología, como GDI.
Requisitos
| Cliente mínimo compatible | Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
| Servidor mínimo compatible | Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
| Plataforma de destino | Windows |
| Encabezado | dwrite.h |