estructura de DWRITE_PAINT_ELEMENT (dwrite_3.h)

Estructura de DWRITE_PAINT_ELEMENT

Especifica las propiedades de un elemento de pintura, que es un nodo de un árbol visual asociado a un glifo de color. Esto se pasa como parámetro de salida a varios métodos IDWritePaintReader .

Para obtener una descripción detallada de cómo se deben representar los elementos de pintura, consulte la especificación de tabla COLR openType. Algunas de las descripciones de este tema hacen referencia a los formatos de registro de pintura COLR asociados a cada tipo de pintura.

Sintaxis

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

Miembros

paintType

Tipo: DWRITE_PAINT_TYPE

Especifica el tipo de pintura y, por tanto, qué miembro de la unión es válido.

PAINT_UNION

Especifica las propiedades específicas del tipo del elemento paint.

PAINT_UNION.PAINT_LAYERS

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_LAYERS. Contiene uno o varios elementos de pintura secundarios que se van a dibujar en orden inferior.

Esto corresponde a un registro PaintColrLayers de la tabla COLR OpenType. O bien, podría corresponder a un registro BaseGlyph definido por colR versión 0.

PAINT_UNION.PAINT_LAYERS.childCount

Tipo: UINT32

Número de elementos de pintura secundarios en orden inferior. Use IDWritePaintReader::MoveToFirstChild y MoveToNextSibling para recuperar los elementos de pintura secundarios. Use el método MoveToParent para volver al elemento primario.

PAINT_UNION.layers

Tipo: PAINT_UNION. PAINT_LAYERS

Consulte PAINT_UNION. PAINT_LAYERS.

PAINT_UNION.PAINT_SOLID_GLYPH

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_SOLID_GLYPH. Especifica un glifo con un relleno de color sólido. Este elemento de pintura no tiene elementos secundarios.

Esto corresponde a una combinación de dos registros de pintura en la tabla COLR OpenType: un registro PaintGlyph , que hace referencia a un registro PaintSolid o PaintVarSolid . O bien, podría corresponder a un registro de capa definido por colR versión 0.

PAINT_UNION.PAINT_SOLID_GLYPH.glyphIndex

Tipo: UINT32

Índice de glifo que define la forma que se va a rellenar.

PAINT_UNION.PAINT_SOLID_GLYPH.color

Tipo: DWRITE_PAINT_COLOR

Color del glifo usado para rellenar la forma del glifo.

PAINT_UNION.solidGlyph

Tipo: PAINT_UNION. PAINT_SOLID_GLYPH

Consulte PAINT_UNION. PAINT_SOLID_GLYPH.

PAINT_UNION.solid

Tipo: DWRITE_PAINT_COLOR

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_SOLID. Especifica un color sólido que se usa para rellenar la forma o el clip actuales. Este elemento de pintura no tiene elementos secundarios.

Esto corresponde a un registro PaintSolid o PaintVarSolid en la tabla ColR openType.

PAINT_UNION.PAINT_LINEAR_GRADIENT

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_LINEAR_GRADIENT. Especifica un degradado lineal utilizado para rellenar la forma o el clip actuales. Este elemento de pintura no tiene elementos secundarios.

Esto corresponde a un registro PaintLinearGradient o PaintVarLinearGradient en la tabla COLR openType.

PAINT_UNION.PAINT_LINEAR_GRADIENT.extendMode

Tipo: UINT32

Valor de D2D1_EXTEND_MODE que especifica cómo se definen los colores fuera del intervalo.

PAINT_UNION.PAINT_LINEAR_GRADIENT.gradientStopCount

Tipo: UINT32

Número de paradas de degradado. Use el método IDWritePaintReader::GetGradientStops para obtener las paradas de degradado.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x0

Tipo: float

Coordenada X del punto inicial de la línea de color.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y0

Tipo: float

Coordenada Y del punto inicial de la línea de color.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x1

Tipo: float

Coordenada X del punto final de la línea de color.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y1

Tipo: float

Coordenada Y del punto final de la línea de color.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x2

Tipo: float

Coordenada X del punto de rotación de la línea de color.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y2

Tipo: float

Coordenada Y del punto de rotación de la línea de color.

PAINT_UNION.linearGradient

Tipo: PAINT_UNION. PAINT_LINEAR_GRADIENT

Consulte PAINT_UNION. PAINT_LINEAR_GRADIENT.

PAINT_UNION.PAINT_RADIAL_GRADIENT

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_RADIAL_GRADIENT. Especifica un degradado radial utilizado para rellenar la forma o el clip actuales. Este elemento de pintura no tiene elementos secundarios.

Esto corresponde a un registro PaintRadialGradient o PaintVarRadialGradient en la tabla COLR openType.

PAINT_UNION.PAINT_RADIAL_GRADIENT.extendMode

Tipo: UINT32

Valor de D2D1_EXTEND_MODE que especifica cómo se definen los colores fuera del intervalo.

PAINT_UNION.PAINT_RADIAL_GRADIENT.gradientStopCount

Tipo: UINT32

Número de paradas de degradado. Use el método IDWritePaintReader::GetGradientStops para obtener las paradas de degradado.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x0

Tipo: float

Coordenada X central del círculo inicial.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y0

Tipo: float

Coordenada Y central del círculo inicial.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius0

Tipo: float

Radio del círculo inicial.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x1

Tipo: float

Coordenada X central del círculo final.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y1

Tipo: float

Coordenada Y central del círculo final.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius1

Tipo: float

Radio del círculo final.

PAINT_UNION.radialGradient

Tipo: PAINT_UNION. PAINT_RADIAL_GRADIENT

Consulte PAINT_UNION. PAINT_RADIAL_GRADIENT.

PAINT_UNION.PAINT_SWEEP_GRADIENT

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_SWEEP_GRADIENT. Especifica un degradado de barrido utilizado para rellenar la forma o el clip actuales. Este elemento de pintura no tiene elementos secundarios.

Esto corresponde a un registro PaintSweepGradient o PaintVarSweepGradient en la tabla COLR OpenType.

PAINT_UNION.PAINT_SWEEP_GRADIENT.extendMode

Tipo: UINT32

Valor de D2D1_EXTEND_MODE que especifica cómo se definen los colores fuera del intervalo.

PAINT_UNION.PAINT_SWEEP_GRADIENT.gradientStopCount

Tipo: UINT32

Número de paradas de degradado. Use el método IDWritePaintReader::GetGradientStops para obtener las paradas de degradado.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerX

Tipo: float

Coordenada X central.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY

Tipo: float

Coordenada Y central.

PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle

Tipo: float

Inicio del intervalo angular del degradado, medido en grados en sentido contrario a las agujas del reloj desde la dirección del eje x positivo.

PAINT_UNION.PAINT_SWEEP_GRADIENT.endAngle

Tipo: float

Final del intervalo angular del degradado, medido en grados en sentido contrario a las agujas del reloj desde la dirección del eje x positivo.

PAINT_UNION.sweepGradient

Tipo: PAINT_UNION. PAINT_SWEEP_GRADIENT

Consulte PAINT_UNION. PAINT_SWEEP_GRADIENT.

PAINT_UNION.PAINT_GLYPH

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_GLYPH. Especifica una forma de glifo que se va a rellenar o, de forma equivalente, una región de clip. Este elemento paint tiene un elemento secundario.

El elemento de pintura secundario define cómo se rellena la forma del glifo. El elemento secundario puede ser un único elemento de pintura, como un degradado lineal. O bien, el elemento secundario puede ser la raíz de un árbol visual que se va a representar con la forma del glifo como una región de recorte. Esto corresponde a un registro PaintGlyph en la tabla OpenType COLR.

PAINT_UNION.PAINT_GLYPH.glyphIndex

Tipo: UINT32

Índice de glifo del glifo que define la forma que se va a rellenar.

PAINT_UNION.glyph

Tipo: PAINT_UNION. PAINT_GLYPH

Consulte PAINT_UNION. PAINT_GLYPH.

PAINT_UNION.PAINT_COLOR_GLYPH

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_COLOR_GLYPH. Especifica otro glifo de color, que se usa como componente reutilizable. Este elemento de pintura tiene un elemento secundario, que es el elemento de pintura raíz del glifo de color especificado.

Esto corresponde a un registro PaintColorGlyph de la tabla COLR OpenType.

PAINT_UNION.PAINT_COLOR_GLYPH.glyphIndex

Tipo: UINT32

Índice de glifo del glifo de color al que se hace referencia.

PAINT_UNION.PAINT_COLOR_GLYPH.clipBox

Tipo: D2D_RECT_F

Cuadro clip del glifo de color al que se hace referencia, en ems. Si el glifo de color no especifica un cuadro de recorte, se trata de un rectángulo vacío. Si no es un rectángulo vacío, el cliente debe recortar el contenido secundario en este cuadro.

PAINT_UNION.colorGlyph

Tipo: PAINT_UNION. PAINT_COLOR_GLYPH

Consulte PAINT_UNION. PAINT_COLOR_GLYPH.

PAINT_UNION.transform

Tipo: DWRITE_MATRIX

Válido para los elementos de pintura de tipo DWRITE_PAINT_TYPE_TRANSFORM. Especifica una transformación afín que se va a aplicar al contenido secundario. Este elemento de pintura tiene un elemento secundario, que es el contenido transformado.

Esto corresponde a los formatos de pintura de 12 a 31 en la tabla OpenType COLR.

PAINT_UNION.PAINT_COMPOSITE

Válido para elementos de pintura de tipo DWRITE_PAINT_TYPE_COMPOSITE. Combina los dos elementos de pintura secundarios mediante el modo de composición o combinación especificados. Este elemento de pintura tiene dos elementos secundarios. El primer elemento secundario es el origen de la pintura. El segundo niño es el destino de pintura (o fondo).

Esto corresponde a un registro PaintComposite en la tabla ColR openType.

PAINT_UNION.PAINT_COMPOSITE.mode

Tipo: DWRITE_COLOR_COMPOSITE_MODE

Especifica el modo de composición o combinación.

PAINT_UNION.composite

Tipo: PAINT_UNION. PAINT_COMPOSITE

Consulte PAINT_UNION. PAINT_COMPOSITE.

paint

Tipo: PAINT_UNION

Consulte PAINT_UNION.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1809 (con SDK de Aplicaciones para Windows 1.2 o posterior)
Encabezado dwrite_3.h