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

種類: DWRITE_PAINT_TYPE

塗りつぶしの種類を指定します。したがって、共用体のどのメンバーが有効であるかを指定します。

PAINT_UNION

ペイント要素の型固有のプロパティを指定します。

PAINT_UNION.PAINT_LAYERS

DWRITE_PAINT_TYPE_LAYERS型のペイント要素に対 して有効です。 ボトムアップ順に描画する 1 つ以上の子ペイント要素が含まれます。

これは、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 テーブルの 2 つのペイント レコード (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型のペイント要素に対 して有効です。 塗りつぶすグリフ図形、またはクリップ領域を指定します。 このペイント要素には、1 つの子要素があります。

子ペイント要素は、グリフ図形の塗りつぶし方法を定義します。 子要素には、線形グラデーションなどの 1 つのペイント要素を指定できます。 または、子要素をビジュアル ツリーのルートにして、グリフ図形をクリップ領域としてレンダリングすることもできます。 これは、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型のペイント要素に対 して有効です。 再利用可能なコンポーネントとして使用される別のカラー グリフを指定します。 このペイント要素には、指定したカラー グリフのルート ペイント要素である 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