estrutura DWRITE_PAINT_ELEMENT (dwrite_3.h)
Estrutura DWRITE_PAINT_ELEMENT
Especifica as propriedades de um elemento paint, que é um nó em uma árvore visual associada a um glifo de cor. Isso é passado como um parâmetro de saída para vários métodos IDWritePaintReader .
Para obter uma descrição detalhada de como os elementos de pintura devem ser renderizados, consulte a especificação da tabela COLR OpenType. Algumas das descrições neste tópico fazem referência aos formatos de registro de pintura COLR associados a cada tipo de tinta.
Sintaxe
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;
};
Membros
paintType
Tipo: DWRITE_PAINT_TYPE
Especifica o tipo de tinta e, portanto, qual membro da união é válido.
PAINT_UNION
Especifica propriedades específicas do tipo do elemento paint.
PAINT_UNION.PAINT_LAYERS
Válido para elementos de pintura do tipo DWRITE_PAINT_TYPE_LAYERS. Contém um ou mais elementos de pintura filho a serem desenhados em ordem de baixo para cima.
Isso corresponde a um registro PaintColrLayers na tabela COLR OpenType. Ou pode corresponder a um registro BaseGlyph definido pelo COLR versão 0.
PAINT_UNION.PAINT_LAYERS.childCount
Tipo: UINT32
Número de elementos de pintura filho em ordem de baixo para cima. Use IDWritePaintReader::MoveToFirstChild e MoveToNextSibling para recuperar os elementos de pintura filho. Use o método MoveToParent para retornar ao elemento pai.
PAINT_UNION.layers
Tipo: PAINT_UNION. PAINT_LAYERS
Consulte PAINT_UNION. PAINT_LAYERS.
PAINT_UNION.PAINT_SOLID_GLYPH
Válido para elementos de pintura do tipo DWRITE_PAINT_TYPE_SOLID_GLYPH. Especifica um glifo com um preenchimento de cor sólida. Esse elemento paint não tem elementos filho.
Isso corresponde a uma combinação de dois registros de pintura na tabela COLR OpenType: um registro PaintGlyph , que faz referência a um registro PaintSolid ou PaintVarSolid . Ou pode corresponder a um registro de camada definido pelo COLR versão 0.
PAINT_UNION.PAINT_SOLID_GLYPH.glyphIndex
Tipo: UINT32
Índice de glifo que define a forma a ser preenchida.
PAINT_UNION.PAINT_SOLID_GLYPH.color
Tipo: DWRITE_PAINT_COLOR
Cor do glifo usada para preencher a forma do 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 do tipo DWRITE_PAINT_TYPE_SOLID. Especifica uma cor sólida usada para preencher a forma ou o clipe atual. Esse elemento paint não tem elementos filho.
Isso corresponde a um registro PaintSolid ou PaintVarSolid na tabela COLR OpenType.
PAINT_UNION.PAINT_LINEAR_GRADIENT
Válido para elementos de pintura do tipo DWRITE_PAINT_TYPE_LINEAR_GRADIENT. Especifica um gradiente linear usado para preencher a forma ou o clipe atual. Esse elemento paint não tem elementos filho.
Isso corresponde a um registro PaintLinearGradient ou PaintVarLinearGradient na tabela COLR OpenType.
PAINT_UNION.PAINT_LINEAR_GRADIENT.extendMode
Tipo: UINT32
Um valor D2D1_EXTEND_MODE especificando como as cores fora do intervalo são definidas.
PAINT_UNION.PAINT_LINEAR_GRADIENT.gradientStopCount
Tipo: UINT32
Número de paradas de gradiente. Use o método IDWritePaintReader::GetGradientStops para obter as paradas de gradiente.
PAINT_UNION.PAINT_LINEAR_GRADIENT.x0
Tipo: float
Coordenada X do ponto inicial da linha de cor.
PAINT_UNION.PAINT_LINEAR_GRADIENT.y0
Tipo: float
Coordenada Y do ponto inicial da linha de cor.
PAINT_UNION.PAINT_LINEAR_GRADIENT.x1
Tipo: float
Coordenada X do ponto final da linha de cor.
PAINT_UNION.PAINT_LINEAR_GRADIENT.y1
Tipo: float
Coordenada Y do ponto final da linha de cor.
PAINT_UNION.PAINT_LINEAR_GRADIENT.x2
Tipo: float
Coordenada X do ponto de rotação da linha de cor.
PAINT_UNION.PAINT_LINEAR_GRADIENT.y2
Tipo: float
Coordenada Y do ponto de rotação da linha de cor.
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 do tipo DWRITE_PAINT_TYPE_RADIAL_GRADIENT. Especifica um gradiente radial usado para preencher a forma ou o clipe atual. Esse elemento paint não tem elementos filho.
Isso corresponde a um registro PaintRadialGradient ou PaintVarRadialGradient na tabela COLR OpenType.
PAINT_UNION.PAINT_RADIAL_GRADIENT.extendMode
Tipo: UINT32
Um valor D2D1_EXTEND_MODE especificando como as cores fora do intervalo são definidas.
PAINT_UNION.PAINT_RADIAL_GRADIENT.gradientStopCount
Tipo: UINT32
Número de paradas de gradiente. Use o método IDWritePaintReader::GetGradientStops para obter as paradas de gradiente.
PAINT_UNION.PAINT_RADIAL_GRADIENT.x0
Tipo: float
Coordenada central X do círculo inicial.
PAINT_UNION.PAINT_RADIAL_GRADIENT.y0
Tipo: float
Coordenada central Y do círculo inicial.
PAINT_UNION.PAINT_RADIAL_GRADIENT.radius0
Tipo: float
Raio do círculo inicial.
PAINT_UNION.PAINT_RADIAL_GRADIENT.x1
Tipo: float
Coordenada central X do círculo final.
PAINT_UNION.PAINT_RADIAL_GRADIENT.y1
Tipo: float
Coordenada central Y do círculo final.
PAINT_UNION.PAINT_RADIAL_GRADIENT.radius1
Tipo: float
Raio do 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 do tipo DWRITE_PAINT_TYPE_SWEEP_GRADIENT. Especifica um gradiente de varredura usado para preencher a forma ou o clipe atual. Esse elemento paint não tem elementos filho.
Isso corresponde a um registro PaintSweepGradient ou PaintVarSweepGradient na tabela COLR OpenType.
PAINT_UNION.PAINT_SWEEP_GRADIENT.extendMode
Tipo: UINT32
Um valor D2D1_EXTEND_MODE especificando como as cores fora do intervalo são definidas.
PAINT_UNION.PAINT_SWEEP_GRADIENT.gradientStopCount
Tipo: UINT32
Número de paradas de gradiente. Use o método IDWritePaintReader::GetGradientStops para obter as paradas de gradiente.
PAINT_UNION.PAINT_SWEEP_GRADIENT.centerX
Tipo: float
Coordenada do Centro X.
PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY
Tipo: float
Coordenada central Y.
PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle
Tipo: float
Início do intervalo angular do gradiente, medido em graus no sentido anti-horário da direção do eixo x positivo.
PAINT_UNION.PAINT_SWEEP_GRADIENT.endAngle
Tipo: float
Fim do intervalo angular do gradiente, medido em graus no sentido anti-horário da direção do eixo x positivo.
PAINT_UNION.sweepGradient
Tipo: PAINT_UNION. PAINT_SWEEP_GRADIENT
Confira PAINT_UNION. PAINT_SWEEP_GRADIENT.
PAINT_UNION.PAINT_GLYPH
Válido para elementos de pintura do tipo DWRITE_PAINT_TYPE_GLYPH. Especifica uma forma de glifo a ser preenchida ou, equivalentemente, uma região de recorte. Esse elemento paint tem um elemento filho.
O elemento de pintura filho define como a forma do glifo é preenchida. O elemento filho pode ser um único elemento de pintura, como um gradiente linear. Ou o elemento filho pode ser a raiz de uma árvore visual a ser renderizada com a forma do glifo como uma região de clipe. Isso corresponde a um registro PaintGlyph na tabela COLR OpenType.
PAINT_UNION.PAINT_GLYPH.glyphIndex
Tipo: UINT32
Índice de glifo do glifo que define a forma a ser preenchida.
PAINT_UNION.glyph
Tipo: PAINT_UNION. PAINT_GLYPH
Confira PAINT_UNION. PAINT_GLYPH.
PAINT_UNION.PAINT_COLOR_GLYPH
Válido para elementos de pintura do tipo DWRITE_PAINT_TYPE_COLOR_GLYPH. Especifica outro glifo de cor, usado como um componente reutilizável. Esse elemento paint tem um elemento filho, que é o elemento de pintura raiz do glifo de cor especificado.
Isso corresponde a um registro PaintColorGlyph na tabela COLR OpenType.
PAINT_UNION.PAINT_COLOR_GLYPH.glyphIndex
Tipo: UINT32
Índice de glifo do glifo de cor referenciado.
PAINT_UNION.PAINT_COLOR_GLYPH.clipBox
Tipo: D2D_RECT_F
Caixa de recorte do glifo de cor referenciado, ems. Se o glifo de cor não especificar uma caixa de recorte, esse será um retângulo vazio. Se não for um retângulo vazio, o cliente precisará recortar o conteúdo filho para essa caixa.
PAINT_UNION.colorGlyph
Tipo: PAINT_UNION. PAINT_COLOR_GLYPH
Confira PAINT_UNION. PAINT_COLOR_GLYPH.
PAINT_UNION.transform
Tipo: DWRITE_MATRIX
Válido para elementos de pintura do tipo DWRITE_PAINT_TYPE_TRANSFORM. Especifica uma transformação afim a ser aplicada ao conteúdo filho. Esse elemento paint tem um elemento filho, que é o conteúdo transformado.
Isso corresponde aos formatos de pintura de 12 a 31 na tabela COLR OpenType.
PAINT_UNION.PAINT_COMPOSITE
Válido para elementos de pintura do tipo DWRITE_PAINT_TYPE_COMPOSITE. Combina os dois elementos de pintura filho usando o modo de composição ou mesclagem especificado. Esse elemento paint tem dois elementos filho. O primeiro filho é a fonte de tinta. O segundo filho é o destino de pintura (ou pano de fundo).
Isso corresponde a um registro PaintComposite na tabela COLR OpenType.
PAINT_UNION.PAINT_COMPOSITE.mode
Tipo: DWRITE_COLOR_COMPOSITE_MODE
Especifica o modo de composição ou mesclagem.
PAINT_UNION.composite
Tipo: PAINT_UNION. PAINT_COMPOSITE
Confira PAINT_UNION. PAINT_COMPOSITE.
paint
Tipo: PAINT_UNION
Confira PAINT_UNION.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1809 (com SDK do Aplicativo Windows 1.2 ou posterior) |
Cabeçalho | dwrite_3.h |