2.1.1.23 PenStyle Enumeration

The 16-bit PenStyle Enumeration is used to specify different types of pens that can be used in graphics operations.

Various styles can be combined by using a logical OR statement, one from each subsection of Style, EndCap, Join, and Type (Cosmetic).

 typedef  enum
 {
   PS_COSMETIC = 0x0000,
   PS_ENDCAP_ROUND = 0x0000,
   PS_JOIN_ROUND = 0x0000,
   PS_SOLID = 0x0000,
   PS_DASH = 0x0001,
   PS_DOT = 0x0002,
   PS_DASHDOT = 0x0003,
   PS_DASHDOTDOT = 0x0004,
   PS_NULL = 0x0005,
   PS_INSIDEFRAME = 0x0006,
   PS_USERSTYLE = 0x0007,
   PS_ALTERNATE = 0x0008,
   PS_ENDCAP_SQUARE = 0x0100,
   PS_ENDCAP_FLAT = 0x0200,
   PS_JOIN_BEVEL = 0x1000,
   PS_JOIN_MITER = 0x2000
 } PenStyle;

PS_COSMETIC: The pen is cosmetic.

PS_ENDCAP_ROUND: Line end caps are round.

PS_JOIN_ROUND: Line joins are round.

PS_SOLID: The pen is solid.

PS_DASH: The pen is dashed.

PS_DOT: The pen is dotted.

PS_DASHDOT: The pen has alternating dashes and dots.

PS_DASHDOTDOT: The pen has dashes and double dots.

PS_NULL: The pen is invisible.

PS_INSIDEFRAME: The pen is solid. When this pen is used in any drawing record that takes a bounding rectangle, the dimensions of the figure are shrunk so that it fits entirely in the bounding rectangle, taking into account the width of the pen.

PS_USERSTYLE: The pen uses a styling array supplied by the user.

PS_ALTERNATE: The pen sets every other pixel (this style is applicable only for cosmetic pens).

PS_ENDCAP_SQUARE: Line end caps are square.

PS_ENDCAP_FLAT: Line end caps are flat.

PS_JOIN_BEVEL: Line joins are beveled.

PS_JOIN_MITER: Line joins are mitered when they are within the current limit set by the SETMITERLIMIT Record (section 2.3.6.42). A join is beveled when it would exceed the limit.