Compartilhar via


Método IDWriteTextRenderer::D rawUnderline (dwrite.h)

IDWriteTextLayout::Draw chama essa função para instruir o cliente a desenhar um sublinhado.

Sintaxe

HRESULT DrawUnderline(
       void                   *clientDrawingContext,
       FLOAT                  baselineOriginX,
       FLOAT                  baselineOriginY,
  [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.

[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.h
Biblioteca Dwrite.lib
DLL Dwrite.dll

Confira também

IDWriteTextRenderer