Share via


IDWriteTextRenderer::D rawUnderline, méthode (dwrite.h)

IDWriteTextLayout::Draw appelle cette fonction pour indiquer au client de dessiner un trait de soulignement.

Syntaxe

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

Paramètres

clientDrawingContext

Type : void*

Contexte de dessin défini par l’application passé à IDWriteTextLayout::Draw.

baselineOriginX

Type : FLOAT

Emplacement du pixel (coordonnée X) à l’origine de la ligne de base de l’exécution où le soulignement s’applique.

baselineOriginY

Type : FLOAT

Emplacement du pixel (coordonnée Y) à l’origine de la ligne de base de l’exécution où le soulignement s’applique.

[in] underline

Type : const DWRITE_UNDERLINE*

Pointeur vers une structure contenant des informations logiques de soulignement.

clientDrawingEffect

Type : IUnknown*

Effet défini par l’application à appliquer au soulignement. Généralement, cet argument représente des effets tels que le pinceau de premier plan qui remplit l’intérieur d’une ligne.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Un soulignement unique peut être divisé en plusieurs appels, selon la façon dont la mise en forme change les attributs. Si les tailles/styles de police changent dans un trait de soulignement, l’épaisseur et le décalage sont pondérés en moyenne en fonction des caractères. Pour obtenir une position de pixel de départ appropriée, ajoutez souligné::offset à la ligne de base. Sinon, il n’y aura pas d’espacement entre le texte. La coordonnée x est toujours passée sur le côté gauche, quelle que soit la direction du texte. Cela simplifie le dessin et réduit le problème d’arrondi qui pourrait potentiellement provoquer des écarts ou un mélange alpha double estampillé. Pour éviter le chevauchement alpha, arrondir les points de terminaison au pixel d’appareil le plus proche.

Spécifications

   
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête dwrite.h
Bibliothèque Dwrite.lib
DLL Dwrite.dll

Voir aussi

IDWriteTextRenderer