Compartilhar via


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