Método IDWriteTextRenderer1::D rawUnderline (dwrite_2.h)
IDWriteTextLayout::Draw chama essa função para instruir o cliente a desenhar um sublinhado.
Sintaxe
HRESULT DrawUnderline(
void *clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_GLYPH_ORIENTATION_ANGLE orientationAngle,
[in] DWRITE_UNDERLINE const *underline,
IUnknown *clientDrawingEffect
);
Parâmetros
clientDrawingContext
Tipo: void*
O contexto de desenho definido pelo aplicativo passado para IDWriteTextLayout::Draw.
baselineOriginX
Tipo: FLOAT
O local do pixel (coordenada X) na origem da linha de base da execução em que o sublinhado se aplica.
baselineOriginY
Tipo: FLOAT
O local do pixel (coordenada Y) na origem da linha de base da execução em que o sublinhado se aplica.
orientationAngle
Tipo: DWRITE_GLYPH_ORIENTATION_ANGLE
Orientação do sublinhado.
[in] underline
Tipo: const DWRITE_UNDERLINE*
Ponteiro para uma estrutura que contém informações lógicas sublinhadas.
clientDrawingEffect
Tipo: IUnknown*
Efeito definido pelo aplicativo a ser aplicado ao sublinhado. Normalmente, esse argumento representa efeitos como o pincel de primeiro plano preenchendo o interior de uma linha.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Um único sublinhado pode ser dividido em várias chamadas, dependendo de como a formatação altera os atributos. Se os tamanhos/estilos de fonte forem alterados em um sublinhado, a espessura e o deslocamento serão ponderados em média de acordo com os caracteres. Para obter uma posição de pixel inicial apropriada, adicione underline::offset à linha de base. Caso contrário, não haverá espaçamento entre o texto. A coordenada x sempre será passada como o lado esquerdo, independentemente da direcionalidade do texto. Isso simplifica o desenho e reduz o problema de arredondamento que poderia potencialmente causar lacunas ou uma mistura alfa carimbada dupla. Para evitar a sobreposição alfa, arredondar os pontos de extremidade para o pixel do dispositivo mais próximo.
Requisitos
Cliente mínimo com suporte | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | dwrite_2.h |
Biblioteca | Dwrite.lib |
DLL | Dwrite.dll |