Condividi tramite


DWRITE_PAINT_ELEMENT struttura (dwrite_3.h)

DWRITE_PAINT_ELEMENT struttura

Specifica le proprietà di un elemento di disegno, ovvero un nodo in un albero visivo associato a un glifo di colore. Viene passato come parametro di output a vari metodi IDWritePaintReader .

Per una descrizione dettagliata del rendering degli elementi di disegno, vedere la specifica della tabella COLR OpenType. Alcune delle descrizioni di questo argomento fanno riferimento ai formati di record di disegno COLR associati a ogni tipo di vernice.

Sintassi

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

Members

paintType

Tipo: DWRITE_PAINT_TYPE

Specifica il tipo di vernice e quindi quale membro dell'unione è valido.

PAINT_UNION

Specifica le proprietà specifiche del tipo dell'elemento paint.

PAINT_UNION.PAINT_LAYERS

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_LAYERS. Contiene uno o più elementi di disegno figlio da disegnare in ordine inferiore.

Corrisponde a un record PaintColrLayers nella tabella COLR OpenType. In alternativa, potrebbe corrispondere a un record BaseGlyph definito dalla versione 0 di COLR.

PAINT_UNION.PAINT_LAYERS.childCount

Tipo: UINT32

Numero di elementi di pittura figlio in ordine inferiore. Usare IDWritePaintReader::MoveToFirstChild e MoveToNextSibling per recuperare gli elementi di disegno figlio. Utilizzare il metodo MoveToParent per tornare all'elemento padre.

PAINT_UNION.layers

Tipo: PAINT_UNION. PAINT_LAYERS

Vedere PAINT_UNION. PAINT_LAYERS.

PAINT_UNION.PAINT_SOLID_GLYPH

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_SOLID_GLYPH. Specifica un glifo con un riempimento a tinta unita. Questo elemento di disegno non ha elementi figlio.

Corrisponde a una combinazione di due record di vernice nella tabella COLR OpenType: un record PaintGlyph , che fa riferimento a un record PaintSolid o PaintVarSolid . In alternativa, potrebbe corrispondere a un record livello definito da COLR versione 0.

PAINT_UNION.PAINT_SOLID_GLYPH.glyphIndex

Tipo: UINT32

Indice glifo che definisce la forma da riempire.

PAINT_UNION.PAINT_SOLID_GLYPH.color

Tipo: DWRITE_PAINT_COLOR

Colore del glifo usato per riempire la forma del glifo.

PAINT_UNION.solidGlyph

Tipo: PAINT_UNION. PAINT_SOLID_GLYPH

Vedere PAINT_UNION. PAINT_SOLID_GLYPH.

PAINT_UNION.solid

Tipo: DWRITE_PAINT_COLOR

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_SOLID. Specifica un colore a tinta unita utilizzato per riempire la forma o la clip correnti. Questo elemento di disegno non ha elementi figlio.

Corrisponde a un record PaintSolid o PaintVarSolid nella tabella COLR OpenType.

PAINT_UNION.PAINT_LINEAR_GRADIENT

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_LINEAR_GRADIENT. Specifica una sfumatura lineare usata per riempire la forma o la clip corrente. Questo elemento di disegno non ha elementi figlio.

Corrisponde a un record PaintLinearGradient o PaintVarLinearGradient nella tabella ColR OpenType.

PAINT_UNION.PAINT_LINEAR_GRADIENT.extendMode

Tipo: UINT32

Valore D2D1_EXTEND_MODE che specifica il modo in cui vengono definiti i colori all'esterno dell'intervallo.

PAINT_UNION.PAINT_LINEAR_GRADIENT.gradientStopCount

Tipo: UINT32

Numero di arresti sfumatura. Usare il metodo IDWritePaintReader::GetGradientStops per ottenere le interruzioni sfumature.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x0

Tipo: float

Coordinata X del punto iniziale della linea di colore.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y0

Tipo: float

Coordinata Y del punto iniziale della linea di colore.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x1

Tipo: float

Coordinata X del punto finale della linea di colore.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y1

Tipo: float

Coordinata Y del punto finale della linea di colore.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x2

Tipo: float

Coordinata X del punto di rotazione della linea di colore.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y2

Tipo: float

Coordinata Y del punto di rotazione della linea di colore.

PAINT_UNION.linearGradient

Tipo: PAINT_UNION. PAINT_LINEAR_GRADIENT

Vedere PAINT_UNION. PAINT_LINEAR_GRADIENT.

PAINT_UNION.PAINT_RADIAL_GRADIENT

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_RADIAL_GRADIENT. Specifica una sfumatura radiale usata per riempire la forma o la clip corrente. Questo elemento di disegno non ha elementi figlio.

Corrisponde a un record PaintRadialGradient o PaintVarRadialGradient nella tabella ColR OpenType.

PAINT_UNION.PAINT_RADIAL_GRADIENT.extendMode

Tipo: UINT32

Valore D2D1_EXTEND_MODE che specifica il modo in cui vengono definiti i colori all'esterno dell'intervallo.

PAINT_UNION.PAINT_RADIAL_GRADIENT.gradientStopCount

Tipo: UINT32

Numero di arresti sfumatura. Usare il metodo IDWritePaintReader::GetGradientStops per ottenere le interruzioni sfumature.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x0

Tipo: float

Coordinata X centrale del cerchio iniziale.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y0

Tipo: float

Coordinata Y centrale del cerchio iniziale.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius0

Tipo: float

Raggio del cerchio iniziale.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x1

Tipo: float

Coordinata X centrale del cerchio finale.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y1

Tipo: float

Coordinata Y centrale del cerchio finale.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius1

Tipo: float

Raggio del cerchio finale.

PAINT_UNION.radialGradient

Tipo: PAINT_UNION. PAINT_RADIAL_GRADIENT

Vedere PAINT_UNION. PAINT_RADIAL_GRADIENT.

PAINT_UNION.PAINT_SWEEP_GRADIENT

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_SWEEP_GRADIENT. Specifica una sfumatura di sweep usata per riempire la forma o la clip corrente. Questo elemento di disegno non ha elementi figlio.

Corrisponde a un record PaintSweepGradient o PaintVarSweepGradient nella tabella ColR OpenType.

PAINT_UNION.PAINT_SWEEP_GRADIENT.extendMode

Tipo: UINT32

Valore D2D1_EXTEND_MODE che specifica il modo in cui vengono definiti i colori all'esterno dell'intervallo.

PAINT_UNION.PAINT_SWEEP_GRADIENT.gradientStopCount

Tipo: UINT32

Numero di arresti sfumatura. Usare il metodo IDWritePaintReader::GetGradientStops per ottenere le interruzioni sfumature.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerX

Tipo: float

Coordinata X centrale.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY

Tipo: float

Coordinata Y centrale.

PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle

Tipo: float

Inizio dell'intervallo angolare della sfumatura, misurato in gradi in senso antiorario dalla direzione dell'asse x positivo.

PAINT_UNION.PAINT_SWEEP_GRADIENT.endAngle

Tipo: float

Fine dell'intervallo angolare della sfumatura, misurata in gradi in senso antiorario dalla direzione dell'asse x positivo.

PAINT_UNION.sweepGradient

Tipo: PAINT_UNION. PAINT_SWEEP_GRADIENT

Vedere PAINT_UNION. PAINT_SWEEP_GRADIENT.

PAINT_UNION.PAINT_GLYPH

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_GLYPH. Specifica una forma di glifo da riempire o, in modo equivalente, un'area di ritaglio. Questo elemento paint ha un elemento figlio.

L'elemento di disegno figlio definisce la modalità di riempimento della forma del glifo. L'elemento figlio può essere un singolo elemento paint, ad esempio una sfumatura lineare. Oppure l'elemento figlio può essere la radice di una struttura ad albero visuale di cui eseguire il rendering con la forma del glifo come area di ritaglio. Corrisponde a un record PaintGlyph nella tabella COLR OpenType.

PAINT_UNION.PAINT_GLYPH.glyphIndex

Tipo: UINT32

Indice del glifo che definisce la forma da riempire.

PAINT_UNION.glyph

Tipo: PAINT_UNION. PAINT_GLYPH

Vedere PAINT_UNION. PAINT_GLYPH.

PAINT_UNION.PAINT_COLOR_GLYPH

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_COLOR_GLYPH. Specifica un altro glifo di colore, utilizzato come componente riutilizzabile. Questo elemento paint ha un elemento figlio, ovvero l'elemento di disegno radice del glifo di colore specificato.

Corrisponde a un record PaintColorGlyph nella tabella COLR OpenType.

PAINT_UNION.PAINT_COLOR_GLYPH.glyphIndex

Tipo: UINT32

Indice del glifo di colore a cui si fa riferimento.

PAINT_UNION.PAINT_COLOR_GLYPH.clipBox

Tipo: D2D_RECT_F

Casella clip del glifo di colore a cui si fa riferimento, in ems. Se il glifo di colore non specifica una casella di ritaglio, si tratta di un rettangolo vuoto. Se non è un rettangolo vuoto, il client deve ritagliare il contenuto figlio in questa casella.

PAINT_UNION.colorGlyph

Tipo: PAINT_UNION. PAINT_COLOR_GLYPH

Vedere PAINT_UNION. PAINT_COLOR_GLYPH.

PAINT_UNION.transform

Tipo: DWRITE_MATRIX

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_TRANSFORM. Specifica una trasformazione affine da applicare al contenuto figlio. Questo elemento paint ha un elemento figlio, ovvero il contenuto trasformato.

Corrisponde ai formati di disegno da 12 a 31 nella tabella COLR OpenType.

PAINT_UNION.PAINT_COMPOSITE

Valido per gli elementi di disegno di tipo DWRITE_PAINT_TYPE_COMPOSITE. Combina i due elementi di disegno figlio utilizzando la modalità di composizione o fusione specificata. Questo elemento paint ha due elementi figlio. Il primo figlio è la fonte di vernice. Il secondo figlio è la destinazione della vernice (o sfondo).

Corrisponde a un record PaintComposite nella tabella COLR OpenType.

PAINT_UNION.PAINT_COMPOSITE.mode

Tipo: DWRITE_COLOR_COMPOSITE_MODE

Specifica la modalità di composizione o fusione.

PAINT_UNION.composite

Tipo: PAINT_UNION. PAINT_COMPOSITE

Vedere PAINT_UNION. PAINT_COMPOSITE.

paint

Tipo: PAINT_UNION

Vedere PAINT_UNION.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1809 (con SDK per app di Windows 1.2 o versione successiva)
Intestazione dwrite_3.h