IDWriteTextRenderer1::D rawUnderline, méthode (dwrite_2.h)
IDWriteTextLayout::Draw appelle cette fonction pour demander au client de dessiner un soulignement.
Syntaxe
HRESULT DrawUnderline(
void *clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_GLYPH_ORIENTATION_ANGLE orientationAngle,
[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 des pixels (coordonnée X) à l’origine de la ligne de base de l’exécution où le soulignement s’applique.
baselineOriginY
Type : FLOAT
Emplacement des pixels (coordonnée Y) à l’origine de la ligne de base de l’exécution où le soulignement s’applique.
orientationAngle
Type : DWRITE_GLYPH_ORIENTATION_ANGLE
Orientation du soulignement.
[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 remplissant 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 modifie les attributs. Si les tailles/styles de police changent au sein d’un soulignement, l’épaisseur et le décalage seront pondérés en moyenne en fonction des caractères. Pour obtenir une position de pixel de départ appropriée, ajoutez soulignement::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 entraîner des lacunes ou un mélange alpha doublement marqué. Pour éviter le chevauchement alpha, arrondissez 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 Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | dwrite_2.h |
Bibliothèque | Dwrite.lib |
DLL | Dwrite.dll |