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
페인트 형식을 지정하므로 공용 구조체의 멤버가 유효한지 지정합니다.
PAINT_UNION
그림판 요소의 형식별 속성을 지정합니다.
PAINT_UNION.PAINT_LAYERS
DWRITE_PAINT_TYPE_LAYERS 형식의 페인트 요소에 유효합니다. 상향식 순서로 그릴 하나 이상의 자식 페인트 요소를 포함합니다.
OpenType COLR 테이블의 PaintColrLayers 레코드에 해당합니다. 또는 COLR 버전 0으로 정의된 BaseGlyph 레코드에 해당할 수 있습니다.
PAINT_UNION.PAINT_LAYERS.childCount
형식: UINT32
상향식 순서의 자식 페인트 요소 수입니다. IDWritePaintReader::MoveToFirstChild 및 MoveToNextSibling을 사용하여 자식 페인트 요소를 검색합니다. MoveToParent 메서드를 사용하여 부모 요소로 돌아갑니다.
PAINT_UNION.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
문자 모양 채우기에 사용되는 문자 모양 색입니다.
PAINT_UNION.solidGlyph
형식: PAINT_UNION. PAINT_SOLID_GLYPH
PAINT_UNION 참조하세요. PAINT_SOLID_GLYPH.
PAINT_UNION.solid
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_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 |