Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
DWRITE_PAINT_ELEMENT Structure
Spécifie les propriétés d’un élément de peinture, qui est un nœud dans 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 COLR OpenType. Certaines 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, quel membre de l’union est valide.
PAINT_UNION
Spécifie les propriétés spécifiques 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 enfant à dessiner dans l’ordre inférieur.
Cela correspond à un enregistrement PaintColrLayers dans la table OPENType COLR. Ou il peut correspondre à un enregistrement BaseGlyphe défini par COLR version 0.
PAINT_UNION.PAINT_LAYERS.childCount
Type : UINT32
Nombre d’éléments de peinture enfants dans l’ordre inférieur. 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. Ou il peut 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 le clip 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 le clip 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 le clip 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 centre X 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 final.
PAINT_UNION.PAINT_RADIAL_GRADIENT.y1
Type : float
Coordonnée Y centrale du cercle final.
PAINT_UNION.PAINT_RADIAL_GRADIENT.radius1
Type : float
Rayon du cercle final.
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 le clip 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 centre.
PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY
Type : float
Coordonnée Y centre.
PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle
Type : float
Début de la plage angulaire du dégradé, mesurée en degrés inverses à l’horloge à 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 au 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, en équivalent, 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 élément de peinture unique, tel qu’un dégradé linéaire. Ou l’élément enfant peut être la racine d’une arborescence visuelle à afficher avec la forme glyphe en tant que région 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 de la glyphe de couleur référencée.
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 est tenu de 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 enfant à 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.
Spécifications
| Besoin | Valeur |
|---|---|
| client minimum pris en charge | Windows 10, version 1809 (avec windows App SDK 1.2 ou version ultérieure) |
| En-tête | dwrite_3.h |