Метод 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 |