Поделиться через


Метод IDWriteTextRenderer::D rawUnderline (dwrite.h)

IDWriteTextLayout::Draw вызывает эту функцию, чтобы указать клиенту нарисовать подчеркивание.

Синтаксис

HRESULT DrawUnderline(
       void                   *clientDrawingContext,
       FLOAT                  baselineOriginX,
       FLOAT                  baselineOriginY,
  [in] DWRITE_UNDERLINE const *underline,
       IUnknown               *clientDrawingEffect
);

Параметры

clientDrawingContext

Тип: void*

Определенный приложением контекст документа, передаваемый в IDWriteTextLayout::Draw.

baselineOriginX

Тип: FLOAT

Расположение пикселей (координата X) в базовом источнике выполнения, где применяется подчеркивание.

baselineOriginY

Тип: FLOAT

Расположение пикселя (координата Y) в базовом источнике выполнения, где применяется подчеркивание.

[in] underline

Тип: const DWRITE_UNDERLINE*

Указатель на структуру, содержащую логическую информацию подчеркивания.

clientDrawingEffect

Тип: IUnknown*

Определяемый приложением эффект для применения к подчеркивание. Обычно этот аргумент представляет такие эффекты, как кисть переднего плана, заполняя внутреннюю часть линии.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Одно подчеркивание можно разбить на несколько вызовов в зависимости от того, как форматирование изменяет атрибуты. Если размеры шрифтов и стили изменяются в пределах подчеркивания, толщина и смещение будут усреднены в соответствии с символами. Чтобы получить соответствующую начальную позицию пикселя, добавьте в базовый план подчеркивание::смещение. В противном случае между текстом не будет интервала. Координата x всегда будет передаваться как левая сторона, независимо от направления текста. Это упрощает рисование и уменьшает проблему округления, которая может привести к зазорам или двойной штамповки альфа-смеси. Чтобы избежать альфа-перекрытия, округляйте конечные точки до ближайшего пикселя устройства.

Требования

   
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header dwrite.h
Библиотека Dwrite.lib
DLL Dwrite.dll

См. также раздел

IDWriteTextRenderer