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 |