Freigeben über


DWRITE_PAINT_ELEMENT-Struktur (dwrite_3.h)

DWRITE_PAINT_ELEMENT-Struktur

Gibt die Eigenschaften eines Paint-Elements an, bei dem es sich um einen Knoten in einer visuellen Struktur handelt, die einer Farbsymbolvorlage zugeordnet ist. Dies wird als Ausgabeparameter an verschiedene IDWritePaintReader-Methoden übergeben.

Eine ausführliche Beschreibung, wie Paint-Elemente gerendert werden sollen, finden Sie in der OpenType COLR-Tabellenspezifikation. Einige der Beschreibungen in diesem Thema beziehen sich auf die COLR-Farbdatensatzformate, die jedem Farbtyp zugeordnet sind.

Syntax

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;
};

Member

paintType

Typ: DWRITE_PAINT_TYPE

Gibt den Farbtyp und somit den gültigen Member der Union an.

PAINT_UNION

Gibt typspezifische Eigenschaften des Paint-Elements an.

PAINT_UNION.PAINT_LAYERS

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_LAYERS. Enthält ein oder mehrere untergeordnete Paint-Elemente, die in bottom-up-Reihenfolge gezeichnet werden sollen.

Dies entspricht einem PaintColrLayers-Eintrag in der OpenType COLR-Tabelle. Oder es kann einem BaseGlypheneintrag entsprechen, der von COLR Version 0 definiert wird.

PAINT_UNION.PAINT_LAYERS.childCount

Typ: UINT32

Anzahl der untergeordneten Farbelemente in bottom-up-Reihenfolge. Verwenden Sie IDWritePaintReader::MoveToFirstChild und MoveToNextSibling , um die untergeordneten Paint-Elemente abzurufen. Verwenden Sie die MoveToParent-Methode , um zum übergeordneten Element zurückzukehren.

PAINT_UNION.layers

Typ: PAINT_UNION. PAINT_LAYERS

Siehe PAINT_UNION. PAINT_LAYERS.

PAINT_UNION.PAINT_SOLID_GLYPH

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_SOLID_GLYPH. Gibt eine Glyphe mit einer Volltonfarbfüllung an. Dieses Paint-Element verfügt über keine untergeordneten Elemente.

Dies entspricht einer Kombination aus zwei Paint-Datensätzen in der OpenType COLR-Tabelle: einem PaintGlyph-Datensatz , der entweder auf einen PaintSolid - oder einen PaintVarSolid-Datensatz verweist. Oder es entspricht einem Layer-Datensatz , der von COLR Version 0 definiert wird.

PAINT_UNION.PAINT_SOLID_GLYPH.glyphIndex

Typ: UINT32

Glyphenindex, der die zu füllende Form definiert.

PAINT_UNION.PAINT_SOLID_GLYPH.color

Typ: DWRITE_PAINT_COLOR

Glyphenfarbe, die zum Ausfüllen der Glyphenform verwendet wird.

PAINT_UNION.solidGlyph

Typ: PAINT_UNION. PAINT_SOLID_GLYPH

Siehe PAINT_UNION. PAINT_SOLID_GLYPH.

PAINT_UNION.solid

Typ: DWRITE_PAINT_COLOR

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_SOLID. Gibt eine Volltonfarbe an, die zum Ausfüllen der aktuellen Form oder des aktuellen Clips verwendet wird. Dieses Paint-Element verfügt über keine untergeordneten Elemente.

Dies entspricht einem PaintSolid - oder PaintVarSolid-Datensatz in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_LINEAR_GRADIENT

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_LINEAR_GRADIENT. Gibt einen linearen Farbverlauf an, der zum Ausfüllen der aktuellen Form oder des aktuellen Clips verwendet wird. Dieses Paint-Element verfügt über keine untergeordneten Elemente.

Dies entspricht einem PaintLinearGradient - oder PaintVarLinearGradient-Datensatz in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_LINEAR_GRADIENT.extendMode

Typ: UINT32

Ein D2D1_EXTEND_MODE Wert, der angibt, wie Farben außerhalb des Intervalls definiert werden.

PAINT_UNION.PAINT_LINEAR_GRADIENT.gradientStopCount

Typ: UINT32

Anzahl der Farbverlaufsstopps. Verwenden Sie die IDWritePaintReader::GetGradientStops-Methode, um die Farbverlaufsstopps abzurufen.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x0

Typ: float

X-Koordinate des Startpunkts der Farblinie.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y0

Typ: float

Y-Koordinate des Startpunkts der Farblinie.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x1

Typ: float

X-Koordinate des Endpunkts der Farblinie.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y1

Typ: float

Y-Koordinate des Endpunkts der Farblinie.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x2

Typ: float

X-Koordinate des Drehpunkts der Farblinie.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y2

Typ: float

Y-Koordinate des Drehpunkts der Farblinie.

PAINT_UNION.linearGradient

Typ: PAINT_UNION. PAINT_LINEAR_GRADIENT

Siehe PAINT_UNION. PAINT_LINEAR_GRADIENT.

PAINT_UNION.PAINT_RADIAL_GRADIENT

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_RADIAL_GRADIENT. Gibt einen radialen Farbverlauf an, der zum Ausfüllen der aktuellen Form oder des aktuellen Clips verwendet wird. Dieses Paint-Element verfügt über keine untergeordneten Elemente.

Dies entspricht einem PaintRadialGradient- oder PaintVarRadialGradient-Datensatz in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_RADIAL_GRADIENT.extendMode

Typ: UINT32

Ein D2D1_EXTEND_MODE Wert, der angibt, wie Farben außerhalb des Intervalls definiert werden.

PAINT_UNION.PAINT_RADIAL_GRADIENT.gradientStopCount

Typ: UINT32

Anzahl der Farbverlaufsstopps. Verwenden Sie die IDWritePaintReader::GetGradientStops-Methode, um die Farbverlaufsstopps abzurufen.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x0

Typ: float

Zentrieren der X-Koordinate des Startkreises.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y0

Typ: float

Y-Koordinate des Startkreises zentrieren.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius0

Typ: float

Radius des Startkreises.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x1

Typ: float

Zentrieren der X-Koordinate des Endkreises.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y1

Typ: float

Zentrieren der Y-Koordinate des Endkreises.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius1

Typ: float

Radius des Endkreises.

PAINT_UNION.radialGradient

Typ: PAINT_UNION. PAINT_RADIAL_GRADIENT

Siehe PAINT_UNION. PAINT_RADIAL_GRADIENT.

PAINT_UNION.PAINT_SWEEP_GRADIENT

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_SWEEP_GRADIENT. Gibt einen Sweep-Farbverlauf an, der zum Ausfüllen der aktuellen Form oder des aktuellen Clips verwendet wird. Dieses Paint-Element verfügt über keine untergeordneten Elemente.

Dies entspricht einem PaintSweepGradient - oder PaintVarSweepGradient-Datensatz in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_SWEEP_GRADIENT.extendMode

Typ: UINT32

Ein D2D1_EXTEND_MODE Wert, der angibt, wie Farben außerhalb des Intervalls definiert werden.

PAINT_UNION.PAINT_SWEEP_GRADIENT.gradientStopCount

Typ: UINT32

Anzahl der Farbverlaufsstopps. Verwenden Sie die IDWritePaintReader::GetGradientStops-Methode, um die Farbverlaufsstopps abzurufen.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerX

Typ: float

Zentrieren der X-Koordinate.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY

Typ: float

Y-Koordinate zentrieren.

PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle

Typ: float

Beginn des Winkelbereichs des Farbverlaufs, gemessen gegen den Uhrzeigersinn aus Richtung der positiven x-Achse.

PAINT_UNION.PAINT_SWEEP_GRADIENT.endAngle

Typ: float

Ende des Winkelbereichs des Farbverlaufs, gemessen in Graden gegen den Uhrzeigersinn aus Richtung der positiven x-Achse.

PAINT_UNION.sweepGradient

Typ: PAINT_UNION. PAINT_SWEEP_GRADIENT

Siehe PAINT_UNION. PAINT_SWEEP_GRADIENT.

PAINT_UNION.PAINT_GLYPH

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_GLYPH. Gibt eine Glyphenform an, die ausgefüllt werden soll, oder äquivalent einen Clipbereich. Dieses Paint-Element verfügt über ein untergeordnetes Element.

Das untergeordnete Paint-Element definiert, wie die Glyphenform gefüllt wird. Das untergeordnete Element kann ein einzelnes Paint-Element sein, z. B. ein linearer Farbverlauf. Oder das untergeordnete Element kann der Stamm einer visuellen Struktur sein, die mit der Glyphe-Form als Clipbereich gerendert werden soll. Dies entspricht einem PaintGlyph-Eintrag in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_GLYPH.glyphIndex

Typ: UINT32

Glyphenindex der Glyphe, die die zu füllende Form definiert.

PAINT_UNION.glyph

Typ: PAINT_UNION. PAINT_GLYPH

Siehe PAINT_UNION. PAINT_GLYPH.

PAINT_UNION.PAINT_COLOR_GLYPH

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_COLOR_GLYPH. Gibt ein weiteres Farbsymbol an, das als wiederverwendbare Komponente verwendet wird. Dieses Paint-Element verfügt über ein untergeordnetes Element, das das Stamm paint-Element der angegebenen Farb-Glyphe ist.

Dies entspricht einem PaintColorGlyph-Datensatz in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_COLOR_GLYPH.glyphIndex

Typ: UINT32

Glyphenindex des Farbsymbols, auf das verwiesen wird.

PAINT_UNION.PAINT_COLOR_GLYPH.clipBox

Typ: D2D_RECT_F

Clip box of the referenced color glyph, in ems. Wenn die Farbglyphe kein Clipfeld angibt, ist dies ein leeres Rechteck. Wenn es sich nicht um ein leeres Rechteck handelt, muss der Client den untergeordneten Inhalt in dieses Feld ausschneiden.

PAINT_UNION.colorGlyph

Typ: PAINT_UNION. PAINT_COLOR_GLYPH

Siehe PAINT_UNION. PAINT_COLOR_GLYPH.

PAINT_UNION.transform

Typ: DWRITE_MATRIX

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_TRANSFORM. Gibt eine affine Transformation an, die auf untergeordnete Inhalte angewendet werden soll. Dieses Paint-Element verfügt über ein untergeordnetes Element, bei dem es sich um den transformierten Inhalt handelt.

Dies entspricht den Farbformaten 12 bis 31 in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_COMPOSITE

Gültig für Paint-Elemente vom Typ DWRITE_PAINT_TYPE_COMPOSITE. Kombiniert die beiden untergeordneten Paint-Elemente mit dem angegebenen Kompositing- oder Mischmodus. Dieses Paint-Element verfügt über zwei untergeordnete Elemente. Das erste untergeordnete Element ist die Farbquelle. Das zweite untergeordnete Element ist das Farbziel (oder der Hintergrund).

Dies entspricht einem PaintComposite-Eintrag in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_COMPOSITE.mode

Typ: DWRITE_COLOR_COMPOSITE_MODE

Gibt den Kompositing- oder Mischmodus an.

PAINT_UNION.composite

Typ: PAINT_UNION. PAINT_COMPOSITE

Siehe PAINT_UNION. PAINT_COMPOSITE.

paint

Typ: PAINT_UNION

Siehe PAINT_UNION.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809 (mit Windows App SDK 1.2 oder höher)
Kopfzeile dwrite_3.h