다음을 통해 공유


DWRITE_PAINT_ELEMENT 구조체(dwrite_3.h)

DWRITE_PAINT_ELEMENT 구조체

색 문자 모양과 연결된 시각적 트리의 한 노드인 그림판 요소의 속성을 지정합니다. 다양한 IDWritePaintReader 메서드에 출력 매개 변수로 전달됩니다.

페인트 요소를 렌더링하는 방법에 대한 자세한 설명은 OpenType COLR 테이블 사양을 참조하세요. 이 항목의 설명 중 일부는 각 페인트 형식과 연결된 COLR 페인트 레코드 형식을 참조합니다.

구문

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

멤버

paintType

형식: DWRITE_PAINT_TYPE

페인트 형식을 지정하므로 공용 구조체의 멤버가 유효한지 지정합니다.

PAINT_UNION

그림판 요소의 형식별 속성을 지정합니다.

PAINT_UNION.PAINT_LAYERS

DWRITE_PAINT_TYPE_LAYERS 형식의 페인트 요소에 유효합니다. 상향식 순서로 그릴 하나 이상의 자식 페인트 요소를 포함합니다.

OpenType COLR 테이블의 PaintColrLayers 레코드에 해당합니다. 또는 COLR 버전 0으로 정의된 BaseGlyph 레코드에 해당할 수 있습니다.

PAINT_UNION.PAINT_LAYERS.childCount

형식: UINT32

상향식 순서의 자식 페인트 요소 수입니다. IDWritePaintReader::MoveToFirstChildMoveToNextSibling을 사용하여 자식 페인트 요소를 검색합니다. MoveToParent 메서드를 사용하여 부모 요소로 돌아갑니다.

PAINT_UNION.layers

형식: PAINT_UNION. PAINT_LAYERS

PAINT_UNION 참조하세요. PAINT_LAYERS.

PAINT_UNION.PAINT_SOLID_GLYPH

DWRITE_PAINT_TYPE_SOLID_GLYPH 형식의 페인트 요소에 유효합니다. 단색 채우기가 있는 문자 모양을 지정합니다. 이 그림판 요소에는 자식 요소가 없습니다.

OpenType COLR 테이블의 두 페인트 레코드 조합에 해당합니다. PaintSolid 또는 PaintVarSolid 레코드를 참조하는 PaintGlyph 레코드입니다. 또는 COLR 버전 0으로 정의된 계층 레코드에 해당할 수 있습니다.

PAINT_UNION.PAINT_SOLID_GLYPH.glyphIndex

형식: UINT32

채울 셰이프를 정의하는 문자 모양 인덱스입니다.

PAINT_UNION.PAINT_SOLID_GLYPH.color

형식: DWRITE_PAINT_COLOR

문자 모양 채우기에 사용되는 문자 모양 색입니다.

PAINT_UNION.solidGlyph

형식: PAINT_UNION. PAINT_SOLID_GLYPH

PAINT_UNION 참조하세요. PAINT_SOLID_GLYPH.

PAINT_UNION.solid

형식: DWRITE_PAINT_COLOR

DWRITE_PAINT_TYPE_SOLID 형식의 페인트 요소에 유효합니다. 현재 도형 또는 클립을 채우는 데 사용되는 단색을 지정합니다. 이 그림판 요소에는 자식 요소가 없습니다.

OpenType COLR 테이블의 PaintSolid 또는 PaintVarSolid 레코드에 해당합니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT

DWRITE_PAINT_TYPE_LINEAR_GRADIENT 형식의 페인트 요소에 유효합니다. 현재 도형 또는 클립을 채우는 데 사용되는 선형 그라데이션을 지정합니다. 이 그림판 요소에는 자식 요소가 없습니다.

OpenType COLR 테이블의 PaintLinearGradient 또는 PaintVarLinearGradient 레코드에 해당합니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.extendMode

형식: UINT32

간격 외부의 색을 정의하는 방법을 지정하는 D2D1_EXTEND_MODE 값입니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.gradientStopCount

형식: UINT32

그라데이션 중지 횟수입니다. IDWritePaintReader::GetGradientStops 메서드를 사용하여 그라데이션 중지를 가져옵니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x0

형식: float

색 선의 시작점 X 좌표입니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y0

형식: float

색 선의 시작점 Y 좌표입니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x1

형식: float

색 선의 끝점 X 좌표입니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y1

형식: float

색 선 끝점의 Y 좌표입니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.x2

형식: float

색 선의 회전점 X 좌표입니다.

PAINT_UNION.PAINT_LINEAR_GRADIENT.y2

형식: float

색선의 회전점 Y 좌표입니다.

PAINT_UNION.linearGradient

형식: PAINT_UNION. PAINT_LINEAR_GRADIENT

PAINT_UNION 참조하세요. PAINT_LINEAR_GRADIENT.

PAINT_UNION.PAINT_RADIAL_GRADIENT

DWRITE_PAINT_TYPE_RADIAL_GRADIENT 형식의 페인트 요소에 유효합니다. 현재 도형 또는 클립을 채우는 데 사용되는 방사형 그라데이션을 지정합니다. 이 그림판 요소에는 자식 요소가 없습니다.

OpenType COLR 테이블의 PaintRadialGradient 또는 PaintVarRadialGradient 레코드에 해당합니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.extendMode

형식: UINT32

간격 외부의 색을 정의하는 방법을 지정하는 D2D1_EXTEND_MODE 값입니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.gradientStopCount

형식: UINT32

그라데이션 중지 횟수입니다. IDWritePaintReader::GetGradientStops 메서드를 사용하여 그라데이션 중지를 가져옵니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x0

형식: float

시작 원의 가운데 X 좌표입니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y0

형식: float

시작 원의 가운데 Y 좌표입니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius0

형식: float

시작 원의 반경입니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.x1

형식: float

끝 원의 가운데 X 좌표입니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.y1

형식: float

끝 원의 가운데 Y 좌표입니다.

PAINT_UNION.PAINT_RADIAL_GRADIENT.radius1

형식: float

끝 원의 반경입니다.

PAINT_UNION.radialGradient

형식: PAINT_UNION. PAINT_RADIAL_GRADIENT

PAINT_UNION 참조하세요. PAINT_RADIAL_GRADIENT.

PAINT_UNION.PAINT_SWEEP_GRADIENT

DWRITE_PAINT_TYPE_SWEEP_GRADIENT 형식의 페인트 요소에 유효합니다. 현재 도형 또는 클립을 채우는 데 사용되는 스윕 그라데이션을 지정합니다. 이 그림판 요소에는 자식 요소가 없습니다.

OpenType COLR 테이블의 PaintSweepGradient 또는 PaintVarSweepGradient 레코드에 해당합니다.

PAINT_UNION.PAINT_SWEEP_GRADIENT.extendMode

형식: UINT32

간격 외부의 색을 정의하는 방법을 지정하는 D2D1_EXTEND_MODE 값입니다.

PAINT_UNION.PAINT_SWEEP_GRADIENT.gradientStopCount

형식: UINT32

그라데이션 중지 횟수입니다. IDWritePaintReader::GetGradientStops 메서드를 사용하여 그라데이션 중지를 가져옵니다.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerX

형식: float

가운데 X 좌표입니다.

PAINT_UNION.PAINT_SWEEP_GRADIENT.centerY

형식: float

가운데 Y 좌표입니다.

PAINT_UNION.PAINT_SWEEP_GRADIENT.startAngle

형식: float

양의 x축 방향에서 시계 반대 방향으로 측정된 그라데이션의 각 범위 시작입니다.

PAINT_UNION.PAINT_SWEEP_GRADIENT.endAngle

형식: float

양의 x축 방향에서 시계 반대 방향으로 측정된 그라데이션의 각 범위 끝입니다.

PAINT_UNION.sweepGradient

형식: PAINT_UNION. PAINT_SWEEP_GRADIENT

PAINT_UNION 참조하세요. PAINT_SWEEP_GRADIENT.

PAINT_UNION.PAINT_GLYPH

DWRITE_PAINT_TYPE_GLYPH 형식의 페인트 요소에 유효합니다. 채울 문자 모양 또는 클립 영역을 지정합니다. 이 그림판 요소에는 하나의 자식 요소가 있습니다.

자식 페인트 요소는 문자 모양이 채워지는 방법을 정의합니다. 자식 요소는 선형 그라데이션과 같은 단일 페인트 요소일 수 있습니다. 또는 자식 요소는 문자 모양으로 클립 영역으로 렌더링할 시각적 트리의 루트일 수 있습니다. OpenType COLR 테이블의 PaintGlyph 레코드에 해당합니다.

PAINT_UNION.PAINT_GLYPH.glyphIndex

형식: UINT32

채울 셰이프를 정의하는 문자 모양의 문자 모양 인덱스입니다.

PAINT_UNION.glyph

형식: PAINT_UNION. PAINT_GLYPH

PAINT_UNION 참조하세요. PAINT_GLYPH.

PAINT_UNION.PAINT_COLOR_GLYPH

DWRITE_PAINT_TYPE_COLOR_GLYPH 형식의 페인트 요소에 유효합니다. 재사용 가능한 구성 요소로 사용되는 다른 색 문자 모양을 지정합니다. 이 그림판 요소에는 지정된 색 문자 모양의 루트 페인트 요소인 자식 요소가 하나 있습니다.

OpenType COLR 테이블의 PaintColorGlyph 레코드에 해당합니다.

PAINT_UNION.PAINT_COLOR_GLYPH.glyphIndex

형식: UINT32

참조된 색 문자 모양의 문자 모양 인덱스입니다.

PAINT_UNION.PAINT_COLOR_GLYPH.clipBox

형식: D2D_RECT_F

참조된 색 문자 모양(ems)의 클립 상자입니다. 색 문자 모양이 클립 상자를 지정하지 않으면 빈 사각형입니다. 빈 사각형이 아닌 경우 클라이언트는 자식 콘텐츠를 이 상자에 클리핑해야 합니다.

PAINT_UNION.colorGlyph

형식: PAINT_UNION. PAINT_COLOR_GLYPH

PAINT_UNION 참조하세요. PAINT_COLOR_GLYPH.

PAINT_UNION.transform

형식: DWRITE_MATRIX

DWRITE_PAINT_TYPE_TRANSFORM 형식의 페인트 요소에 유효합니다. 자식 콘텐츠에 적용할 아핀 변환을 지정합니다. 이 그림판 요소에는 변환된 콘텐츠인 자식 요소가 하나 있습니다.

이는 OpenType COLR 테이블의 그림판 형식 12~31에 해당합니다.

PAINT_UNION.PAINT_COMPOSITE

DWRITE_PAINT_TYPE_COMPOSITE 형식의 페인트 요소에 유효합니다. 지정된 작성 또는 혼합 모드를 사용하여 두 자식 페인트 요소를 결합합니다. 이 그림판 요소에는 두 개의 자식 요소가 있습니다. 첫 번째 자식은 페인트 소스입니다. 두 번째 자식은 페인트 대상(또는 배경)입니다.

OpenType COLR 테이블의 PaintComposite 레코드에 해당합니다.

PAINT_UNION.PAINT_COMPOSITE.mode

형식: DWRITE_COLOR_COMPOSITE_MODE

작성 또는 혼합 모드를 지정합니다.

PAINT_UNION.composite

형식: PAINT_UNION. PAINT_COMPOSITE

PAINT_UNION 참조하세요. PAINT_COMPOSITE.

paint

형식: PAINT_UNION

PAINT_UNION 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1809(Windows 앱 SDK 1.2 이상 포함)
머리글 dwrite_3.h