DWRITE_PAINT_ELEMENT構造体 (dwrite_3.h)
DWRITE_PAINT_ELEMENT構造体
カラー グリフに関連付けられたビジュアル ツリー内の 1 つのノードであるペイント要素のプロパティを指定します。 これは、さまざまな 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型のペイント要素に対 して有効です。 ボトムアップ順に描画する 1 つ以上の子ペイント要素が含まれます。
これは、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 テーブルの 2 つのペイント レコード (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型のペイント要素に対 して有効です。 塗りつぶすグリフ図形、またはクリップ領域を指定します。 このペイント要素には、1 つの子要素があります。
子ペイント要素は、グリフ図形の塗りつぶし方法を定義します。 子要素には、線形グラデーションなどの 1 つのペイント要素を指定できます。 または、子要素をビジュアル ツリーのルートにして、グリフ図形をクリップ領域としてレンダリングすることもできます。 これは、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型のペイント要素に対 して有効です。 再利用可能なコンポーネントとして使用される別のカラー グリフを指定します。 このペイント要素には、指定したカラー グリフのルート ペイント要素である 1 つの子要素があります。
これは、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型のペイント要素に対 して有効です。 子コンテンツに適用するアフィン変換を指定します。 このペイント要素には、変換されたコンテンツである 1 つの子要素があります。
これは、OpenType COLR テーブルのペイント形式 12 から 31 に対応しています。
PAINT_UNION.PAINT_COMPOSITE
DWRITE_PAINT_TYPE_COMPOSITE型のペイント要素に対 して有効です。 指定した合成モードまたはブレンド モードを使用して、2 つの子ペイント要素を結合します。 このペイント要素には、2 つの子要素があります。 最初の子はペイント ソースです。 2 番目の子は、ペイント先 (または背景) です。
これは、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 Version 1809 (Windows アプリ SDK 1.2 以降) |
Header | dwrite_3.h |