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