LINEATTRS

typedef struct _LINEATTRS {

    FLONG       fl;

    ULONG       iJoin;

    ULONG       iEndCap;

    FLOAT_LONG  elWidth;

    FLOAT       eMiterLimit;

    ULONG       cstyle;

    PFLOAT_LONG pstyle;

    FLOAT_LONG  elStyleState;

} LINEATTRS, *PLINEATTRS;

The LINEATTRS structure is used by a driver’s line-drawing functions to determine line attributes.

Members

fl

Option flags. This member can be one of the following values:

Flag Meaning
LA_GEOMETRIC A geometric wide line.
LA_ALTERNATE A special cosmetic line style; every other pixel is on.
LA_STARTGAP The first entry in the style array specifies the length of the first gap.

iJoin

Specifies join styles for geometric wide lines. This member can be one of the following values:

Join Style Meaning
JOIN_ROUND The joining edges of wide lines are rounded.
JOIN_BEVEL The joining edges of wide lines are beveled.
JOIN_MITER The joining edges of wide lines are mitered.

iEndCap

Specifies the end cap style for a geometric wide line. This member can be one of the following values:

End Cap Style Meaning
ENDCAP_ROUND The end cap is rounded.
ENDCAP_SQUARE The end cap is square.
ENDCAP_BUTT The end cap is

elWidth

Specifies the width of the line. This width is measured in FLOAT world coordinates for a geometric wide line, but in LONG device coordinates for a cosmetic wide line.

eMiterLimit

Sets the limit as a multiple of the line width that a miter join is allowed to extend from its inside corner to its outer vertex. This prevents very long spikes from occurring when lines of a path meet at very small angles. If the miter limit is exceeded, a bevel join should be used instead.

This member is used only by geometric wide lines.

cstyle

Specifies the number of entries in the style array.

pstyle

Points to the style array. If this member is null, the line style is solid.

elStyleState

A pair of 16-bit values supplied by GDI whenever the driver calls PATHOBJ_bEnumClipLines. These two values, packed into a LONG, specify where in the styling array (at which pixel) to start the first subpath. This value must be updated as part of the output routine if the line is not solid. This member applies to cosmetic lines only. Refer also to Styled Cosmetic Lines.

See Also

DrvStrokeAndFillPath, DrvStrokePath, PATHOBJ_vEnumStartClipLines