Share via


LINEATTRS 構造体 (winddi.h)

LINEATTRS 構造体は、ドライバーの線描画関数によって線属性を決定するために使用されます。

構文

typedef struct _LINEATTRS {
  FLONG       fl;
  ULONG       iJoin;
  ULONG       iEndCap;
  FLOAT_LONG  elWidth;
  FLOATL      eMiterLimit;
  ULONG       cstyle;
  PFLOAT_LONG pstyle;
  FLOAT_LONG  elStyleState;
} LINEATTRS, *PLINEATTRS;

メンバー

fl

オプション フラグ。 このメンバーには、次のいずれかの値を指定できます。

フラグ 説明
LA_ALTERNATE 特殊な化粧ラインスタイル。他のすべてのピクセルがオンです。
LA_GEOMETRIC 幾何学的な広い線。
LA_STARTGAP スタイル配列の最初のエントリは、最初のギャップの長さを指定します。
LA_STYLED 線はスタイル付きの線です。

iJoin

幾何学的な幅の線の結合スタイルを指定します。 このメンバーには、次のいずれかの値を指定できます。

結合スタイル 意味
JOIN_BEVEL 幅の広い線の結合エッジは面取りされます。
JOIN_MITER 幅の広い線の結合エッジがマイタされます。
JOIN_ROUND 幅の広い線の結合エッジは丸められます。

iEndCap

ジオメトリック幅の広い線のエンド キャップ スタイルを指定します。 このメンバーには、次のいずれかの値を指定できます。

エンド キャップ のスタイル 意味
ENDCAP_BUTT エンド キャップは次の値です。
ENDCAP_ROUND エンド キャップは丸められます。
ENDCAP_SQUARE エンド キャップは正方形です。

elWidth

線の幅を示すFLOAT_LONGを指定します。 この幅は、幾何学的な広い線の場合は FLOAT ワールド座標で測定されますが、長整数型 (LONG) のデバイス座標では、化粧品の幅が広い線の場合は測定されます。 FLOAT_LONGデータ型の説明については、「 GDI データ型」を参照してください。

eMiterLimit

ミッター結合が内側のコーナーから外側の頂点まで延長できる線幅の倍数として制限を設定する FLOATL を指定します。 これにより、パスの線が非常に小さな角度で交わるときに、非常に長いスパイクが発生するのを防ぐことができます。 マイター制限を超えた場合は、代わりに面取り結合を使用する必要があります。 FLOATL データ型の説明については、「 GDI データ型」を参照してください。

このメンバーは、幾何学的な幅の広い線でのみ使用されます。

cstyle

pstyle メンバーが指すスタイル配列内のエントリの数を指定します。

pstyle

FLOAT_LONG要素の配列 (スタイル配列) へのポインター。 このメンバーが NULL の場合、線のスタイルは実線になります。 FLOAT_LONGデータ型の説明については、「 GDI データ型」を参照してください。

elStyleState

ドライバーがPATHOBJ_bEnumClipLinesを呼び出すたびに GDI によって提供される 16 ビット値のペアを含む FLOAT_LONGを指定します。 これら 2 つの値は、FLOAT_LONGにパックされ、最初のサブパスを開始するスタイル配列 (ピクセル) 内の場所を指定します。 行が実線でない場合は、出力ルーチンの一部としてこの値を更新する必要があります。 このメンバーは、化粧線にのみ適用されます

. 詳細については、「 スタイル付き装飾線 」も参照してください。

要件

要件
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

DrvStrokeAndFillPath

DrvStrokePath

PATHOBJ_vEnumStartClipLines