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 |