structure DWRITE_PAINT_ELEMENT (dwrite_3.h)
DWRITE_PAINT_ELEMENT Structure
Spécifie les propriétés d’un élément de peinture, qui est un nœud d’une arborescence visuelle associée à un glyphe de couleur. Il est passé en tant que paramètre de sortie à différentes méthodes IDWritePaintReader .
Pour obtenir une description détaillée de la façon dont les éléments de peinture doivent être rendus, consultez la spécification de la table OpenType COLR. Certaines des descriptions de cette rubrique font référence aux formats d’enregistrement de peinture COLR associés à chaque type de peinture.
Syntaxe
struct DWRITE_PAINT_ELEMENT {
DWRITE_PAINT_TYPE paintType;
union {
struct {
UINT32 childCount;
} PAINT_LAYERS;
PAINT_LAYERS layers;
struct {
UINT32 glyphIndex;
DWRITE_PAINT_COLOR color;
} PAINT_SOLID_GLYPH;
PAINT_SOLID_GLYPH solidGlyph;
DWRITE_PAINT_COLOR solid;
struct {
UINT32 extendMode;
UINT32 gradientStopCount;
float x0;
float y0;
float x1;
float y1;
float x2;
float y2;
} PAINT_LINEAR_GRADIENT;
PAINT_LINEAR_GRADIENT linearGradient;
struct {
UINT32 extendMode;
UINT32 gradientStopCount;
float x0;
float y0;
float radius0;
float x1;
float y1;
float radius1;
} PAINT_RADIAL_GRADIENT;
PAINT_RADIAL_GRADIENT radialGradient;
struct {
UINT32 extendMode;
UINT32 gradientStopCount;
float centerX;
float centerY;
float startAngle;
float endAngle;
} PAINT_SWEEP_GRADIENT;
PAINT_SWEEP_GRADIENT sweepGradient;
struct {
UINT32 glyphIndex;
} PAINT_GLYPH;
PAINT_GLYPH glyph;
struct {
UINT32 glyphIndex;
D2D_RECT_F clipBox;
} PAINT_COLOR_GLYPH;
PAINT_COLOR_GLYPH colorGlyph;
DWRITE_MATRIX transform;
struct {
DWRITE_COLOR_COMPOSITE_MODE mode;
} PAINT_COMPOSITE;
PAINT_COMPOSITE composite;
} PAINT_UNION;
PAINT_UNION paint;
};
Membres
paintType
Type : DWRITE_PAINT_TYPE
Spécifie le type de peinture et, par conséquent, le membre de l’union qui est valide.
PAINT_UNION
Spécifie les propriétés propres au type de l’élément paint.
PAINT_UNION.PAINT_LAYERS
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_LAYERS. Contient un ou plusieurs éléments de peinture enfants à dessiner dans l’ordre bas vers le haut.
Cela correspond à un enregistrement PaintColrLayers dans la table OpenType COLR. Il peut également correspondre à un enregistrement BaseGlyph défini par COLR version 0.
PAINT_UNION.PAINT_LAYERS.childCount
Type : UINT32
Nombre d’éléments de peinture enfants dans l’ordre ascendant. Utilisez IDWritePaintReader ::MoveToFirstChild et MoveToNextSibling pour récupérer les éléments de peinture enfants. Utilisez la méthode MoveToParent pour revenir à l’élément parent.
PAINT_UNION.layers
Type : PAINT_UNION. PAINT_LAYERS
Voir PAINT_UNION. PAINT_LAYERS.
PAINT_UNION.PAINT_SOLID_GLYPH
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_SOLID_GLYPH. Spécifie un glyphe avec un remplissage de couleur unie. Cet élément de peinture n’a aucun élément enfant.
Cela correspond à une combinaison de deux enregistrements de peinture dans la table OpenType COLR : un enregistrement PaintGlyph , qui fait référence à un enregistrement PaintSolid ou PaintVarSolid . Il peut également correspondre à un enregistrement de couche défini par COLR version 0.
PAINT_UNION.PAINT_SOLID_GLYPH.glyphIndex
Type : UINT32
Index de glyphe définissant la forme à remplir.
PAINT_UNION.PAINT_SOLID_GLYPH.color
Type : DWRITE_PAINT_COLOR
Couleur de glyphe utilisée pour remplir la forme de glyphe.
PAINT_UNION.solidGlyph
Type : PAINT_UNION. PAINT_SOLID_GLYPH
Voir PAINT_UNION. PAINT_SOLID_GLYPH.
PAINT_UNION.solid
Type : DWRITE_PAINT_COLOR
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_SOLID. Spécifie une couleur unie utilisée pour remplir la forme ou l’élément actuel. Cet élément de peinture n’a aucun élément enfant.
Cela correspond à un enregistrement PaintSolid ou PaintVarSolid dans la table OpenType COLR.
PAINT_UNION.PAINT_LINEAR_GRADIENT
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_LINEAR_GRADIENT. Spécifie un dégradé linéaire utilisé pour remplir la forme ou l’élément actuel. Cet élément de peinture n’a aucun élément enfant.
Cela correspond à un enregistrement PaintLinearGradient ou PaintVarLinearGradient dans la table OPENType COLR.
PAINT_UNION.PAINT_LINEAR_GRADIENT.extendMode
Type : UINT32
Valeur D2D1_EXTEND_MODE spécifiant la façon dont les couleurs en dehors de l’intervalle sont définies.
PAINT_UNION.PAINT_LINEAR_GRADIENT.gradientStopCount
Type : UINT32
Nombre d’arrêts de dégradé. Utilisez la méthode IDWritePaintReader ::GetGradientStops pour obtenir les arrêts de dégradé.
PAINT_UNION.PAINT_LINEAR_GRADIENT.x0
Type : float
Coordonnée X du point de départ de la ligne de couleur.
PAINT_UNION.PAINT_LINEAR_GRADIENT.y0
Type : float
Coordonnée Y du point de départ de la ligne de couleur.
PAINT_UNION.PAINT_LINEAR_GRADIENT.x1
Type : float
Coordonnée X du point de terminaison de la ligne de couleur.
PAINT_UNION.PAINT_LINEAR_GRADIENT.y1
Type : float
Coordonnée Y du point de terminaison de la ligne de couleur.
PAINT_UNION.PAINT_LINEAR_GRADIENT.x2
Type : float
Coordonnée X du point de rotation de la ligne de couleur.
PAINT_UNION.PAINT_LINEAR_GRADIENT.y2
Type : float
Coordonnée Y du point de rotation de la ligne de couleur.
PAINT_UNION.linearGradient
Type : PAINT_UNION. PAINT_LINEAR_GRADIENT
Voir PAINT_UNION. PAINT_LINEAR_GRADIENT.
PAINT_UNION.PAINT_RADIAL_GRADIENT
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_RADIAL_GRADIENT. Spécifie un dégradé radial utilisé pour remplir la forme ou l’élément actuel. Cet élément de peinture n’a aucun élément enfant.
Cela correspond à un enregistrement PaintRadialGradient ou PaintVarRadialGradient dans la table OpenType COLR.
PAINT_UNION.PAINT_RADIAL_GRADIENT.extendMode
Type : UINT32
Valeur D2D1_EXTEND_MODE spécifiant la façon dont les couleurs en dehors de l’intervalle sont définies.
PAINT_UNION.PAINT_RADIAL_GRADIENT.gradientStopCount
Type : UINT32
Nombre d’arrêts de dégradé. Utilisez la méthode IDWritePaintReader ::GetGradientStops pour obtenir les arrêts de dégradé.
PAINT_UNION.PAINT_RADIAL_GRADIENT.x0
Type : float
Coordonnée X centrale du cercle de début.
PAINT_UNION.PAINT_RADIAL_GRADIENT.y0
Type : float
Coordonnée Y centrale du cercle de début.
PAINT_UNION.PAINT_RADIAL_GRADIENT.radius0
Type : float
Rayon du cercle de début.
PAINT_UNION.PAINT_RADIAL_GRADIENT.x1
Type : float
Coordonnée X centrale du cercle de fin.
PAINT_UNION.PAINT_RADIAL_GRADIENT.y1
Type : float
Coordonnée Y centrale du cercle de fin.
PAINT_UNION.PAINT_RADIAL_GRADIENT.radius1
Type : float
Rayon du cercle de fin.
PAINT_UNION.radialGradient
Type : PAINT_UNION. PAINT_RADIAL_GRADIENT
Voir PAINT_UNION. PAINT_RADIAL_GRADIENT.
PAINT_UNION.PAINT_SWEEP_GRADIENT
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_SWEEP_GRADIENT. Spécifie un dégradé de balayage utilisé pour remplir la forme ou l’élément actuel. Cet élément de peinture n’a aucun élément enfant.
Cela correspond à un enregistrement PaintSweepGradient ou PaintVarSweepGradient dans la table OpenType COLR.
PAINT_UNION.PAINT_SWEEP_GRADIENT.extendMode
Type : UINT32
Valeur D2D1_EXTEND_MODE spécifiant la façon dont les couleurs en dehors de l’intervalle sont définies.
PAINT_UNION.PAINT_SWEEP_GRADIENT.gradientStopCount
Type : UINT32
Nombre d’arrêts de dégradé. Utilisez la méthode IDWritePaintReader ::GetGradientStops pour obtenir les arrêts de dégradé.
PAINT_UNION.PAINT_SWEEP_GRADIENT.centerX
Type : float
Coordonnée X centrale.
PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY
Type : float
Coordonnée Y centrale.
PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle
Type : float
Début de la plage angulaire du gradient, mesuré en degrés dans le sens inverse des aiguilles d’une montre à partir de la direction de l’axe x positif.
PAINT_UNION.PAINT_SWEEP_GRADIENT.endAngle
Type : float
Fin de la plage angulaire du dégradé, mesurée en degrés dans le sens inverse des aiguilles d’une montre à partir de la direction de l’axe X positif.
PAINT_UNION.sweepGradient
Type : PAINT_UNION. PAINT_SWEEP_GRADIENT
Voir PAINT_UNION. PAINT_SWEEP_GRADIENT.
PAINT_UNION.PAINT_GLYPH
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_GLYPH. Spécifie une forme de glyphe à remplir ou, de façon équivalente, une zone de clip. Cet élément de peinture a un élément enfant.
L’élément de peinture enfant définit la façon dont la forme de glyphe est remplie. L’élément enfant peut être un seul élément de peinture, tel qu’un dégradé linéaire. Ou l’élément enfant peut être la racine d’une arborescence visuelle à afficher avec la forme de glyphe en tant que zone de clip. Cela correspond à un enregistrement PaintGlyph dans la table OPENType COLR.
PAINT_UNION.PAINT_GLYPH.glyphIndex
Type : UINT32
Index de glyphe du glyphe qui définit la forme à remplir.
PAINT_UNION.glyph
Type : PAINT_UNION. PAINT_GLYPH
Voir PAINT_UNION. PAINT_GLYPH.
PAINT_UNION.PAINT_COLOR_GLYPH
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_COLOR_GLYPH. Spécifie un autre glyphe de couleur, utilisé comme composant réutilisable. Cet élément de peinture a un élément enfant, qui est l’élément de peinture racine du glyphe de couleur spécifié.
Cela correspond à un enregistrement PaintColorGlyph dans la table OpenType COLR.
PAINT_UNION.PAINT_COLOR_GLYPH.glyphIndex
Type : UINT32
Index de glyphe du glyphe de couleur référencé.
PAINT_UNION.PAINT_COLOR_GLYPH.clipBox
Type : D2D_RECT_F
Zone clip du glyphe de couleur référencé, en ems. Si le glyphe de couleur ne spécifie pas de zone de clip, il s’agit d’un rectangle vide. S’il ne s’agit pas d’un rectangle vide, le client doit découper le contenu enfant dans cette zone.
PAINT_UNION.colorGlyph
Type : PAINT_UNION. PAINT_COLOR_GLYPH
Voir PAINT_UNION. PAINT_COLOR_GLYPH.
PAINT_UNION.transform
Type : DWRITE_MATRIX
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_TRANSFORM. Spécifie une transformation affine à appliquer au contenu enfant. Cet élément de peinture a un élément enfant, qui est le contenu transformé.
Cela correspond aux formats de peinture 12 à 31 dans la table OpenType COLR.
PAINT_UNION.PAINT_COMPOSITE
Valide pour les éléments de peinture de type DWRITE_PAINT_TYPE_COMPOSITE. Combine les deux éléments de peinture enfants à l’aide du mode de composition ou de fusion spécifié. Cet élément de peinture a deux éléments enfants. Le premier enfant est la source de peinture. Le deuxième enfant est la destination de peinture (ou toile de fond).
Cela correspond à un enregistrement PaintComposite dans la table OPENType COLR.
PAINT_UNION.PAINT_COMPOSITE.mode
Type : DWRITE_COLOR_COMPOSITE_MODE
Spécifie le mode de composition ou de fusion.
PAINT_UNION.composite
Type : PAINT_UNION. PAINT_COMPOSITE
Voir PAINT_UNION. PAINT_COMPOSITE.
paint
Type : PAINT_UNION
Voir PAINT_UNION.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10, version 1809 (avec SDK d'application Windows 1.2 ou version ultérieure) |
En-tête | dwrite_3.h |