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 Farbglyphe zugeordnet ist. Dies wird als Ausgabeparameter an verschiedene IDWritePaintReader Methoden übergeben.

Eine ausführliche Beschreibung der Darstellung von Paint-Elementen finden Sie in der OpenType COLR-Tabellenspezifikation. Einige der Beschreibungen in diesem Thema beziehen sich auf die COLR-Farbaufzeichnungsformate, die den einzelnen Farbentypen 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;
};

Elemente

paintType

Typ: DWRITE_PAINT_TYPE

Gibt den Farbtyp und somit an, welches Mitglied der Vereinigung gültig ist.

PAINT_UNION

Gibt typspezifische Eigenschaften des Paint-Elements an.

PAINT_UNION.PAINT_LAYERS

Gültig für Farbelemente vom Typ DWRITE_PAINT_TYPE_LAYERS. Enthält mindestens ein untergeordnetes Farbelement, das in der untersten Reihenfolge gezeichnet werden soll.

Dies entspricht einem PaintColrLayers Datensatz in der OpenType COLR-Tabelle. Oder sie entspricht einem BaseGlyphen- Datensatz, der von COLR Version 0 definiert wurde.

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 Farbelemente vom Typ DWRITE_PAINT_TYPE_SOLID_GLYPH. Gibt eine Glyphe mit vollfarbiger Füllung an. Dieses Paint-Element hat keine untergeordneten Elemente.

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

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 Farbelemente 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 hat keine untergeordneten Elemente.

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

PAINT_UNION.PAINT_LINEAR_GRADIENT

Gültig für Farbelemente 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 hat 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 Drehungspunkts der Farblinie.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y2

Typ: float-

Y-Koordinate des Drehungspunkts 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 Farbelemente 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 hat 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-

Zentriere X-Koordinate des Startkreises.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y0

Typ: float-

Y-Koordinate des Anfangskreises zentriere.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius0

Typ: float-

Radius des Anfangskreises.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x1

Typ: float-

Zentriere X-Koordinate des Endkreises.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y1

Typ: float-

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 Farbelemente vom Typ DWRITE_PAINT_TYPE_SWEEP_GRADIENT. Gibt einen Aufräumverlauf an, der zum Ausfüllen der aktuellen Form oder des aktuellen Clips verwendet wird. Dieses Paint-Element hat 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-

X-Koordinate zentriere.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY

Typ: float-

Y-Koordinate zentriere.

PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle

Typ: float-

Beginn des Winkelbereichs des Farbverlaufs, gemessen im Gegenuhrzeigersinn von der Richtung der positiven x-Achse.

PAINT_UNION.PAINT_SWEEP_GRADIENT.endAngle

Typ: float-

Ende des Winkelbereichs des Farbverlaufs, gemessen im Gegenuhrzeigersinn von der 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 Farbelemente vom Typ DWRITE_PAINT_TYPE_GLYPH. Gibt eine Glyphenform an, die gefüllt oder entsprechend einem Clipbereich gefüllt werden soll. 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 Glyphenform als Clipbereich gerendert werden soll. Dies entspricht einem PaintGlyph Datensatz 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 Farbelemente vom Typ DWRITE_PAINT_TYPE_COLOR_GLYPH. Gibt eine weitere Farbglyphe an, die als wiederverwendbare Komponente verwendet wird. Dieses Paint-Element verfügt über ein untergeordnetes Element, das das Stammmalelement der angegebenen Farbglyphe ist.

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

PAINT_UNION.PAINT_COLOR_GLYPH.glyphIndex

Typ: UINT32-

Glyphenindex der referenzierten Farbglyphe.

PAINT_UNION.PAINT_COLOR_GLYPH.clipBox

Typ: D2D_RECT_F

Clip box of the referenced color glyph, in ems. Wenn die Farbglyphe kein Clip box 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 Farbelemente 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 Formaten 12 bis 31 in der OpenType COLR-Tabelle.

PAINT_UNION.PAINT_COMPOSITE

Gültig für Farbelemente vom Typ DWRITE_PAINT_TYPE_COMPOSITE. Kombiniert die beiden untergeordneten Farbelemente mithilfe des angegebenen Kompositing- oder Mischmodus. Dieses Paint-Element verfügt über zwei untergeordnete Elemente. Das erste untergeordnete Element ist die Lackquelle. Das zweite untergeordnete Element ist das Farbziel (oder die Kulisse).

Dies entspricht einem PaintComposite- Datensatz 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ützter Client (Mindestversion) Windows 10, Version 1809 (mit Windows App SDK 1.2 oder höher)
Kopfzeile dwrite_3.h