2.2.2.12 EmfPlusCustomLineCapArrowData Object

The EmfPlusCustomLineCapArrowData object specifies adjustable arrow data for a custom line cap.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Width

Height

MiddleInset

FillState

LineStartCap

LineEndCap

LineJoin

LineMiterLimit

WidthScale

FillHotSpot

...

LineHotSpot

...

Width (4 bytes): A floating-point value that specifies the width of the arrow cap.

The width of the arrow cap is scaled by the width of the EmfPlusPen object (section 2.2.1.7) that is used to draw the line being capped. For example, when drawing a capped line with a pen that has a width of 5 pixels, and the adjustable arrow cap object has a width of 3, the actual arrow cap is drawn 15 pixels wide.

Height (4 bytes): A floating-point value that specifies the height of the arrow cap.

The height of the arrow cap is scaled by the width of the EmfPlusPen object that is used to draw the line being capped. For example, when drawing a capped line with a pen that has a width of 5 pixels, and the adjustable arrow cap object has a height of 3, the actual arrow cap is drawn 15 pixels high.

MiddleInset (4 bytes): A floating-point value that specifies the number of pixels between the outline of the arrow cap and the fill of the arrow cap.

FillState (4 bytes): A Boolean value that specifies whether the arrow cap is filled. If the arrow cap is not filled, only the outline is drawn.

LineStartCap (4 bytes): An unsigned integer that specifies the value in the LineCapType enumeration (section 2.1.1.17) that indicates the line cap to be used at the start of the line to be drawn.

LineEndCap (4 bytes): An unsigned integer that specifies the value in the LineCapType enumeration that indicates the line cap to be used at the end of the line to be drawn.

LineJoin (4 bytes): An unsigned integer that specifies the value in the LineJoinType enumeration (section 2.1.1.18) that specifies how to join two lines that are drawn by the same pen and whose ends meet. At the intersection of the two line ends, a line join makes the connection look more continuous.

LineMiterLimit (4 bytes): A floating-point value that specifies the limit of the thickness of the join on a mitered corner by setting the maximum allowed ratio of miter length to line width.

WidthScale (4 bytes): A floating-point value that specifies the amount by which to scale an EmfPlusCustomLineCap object (section 2.2.1.2) with respect to the width of the graphics pen that is used to draw the lines.

FillHotSpot (8 bytes): An EmfPlusPointF object (section 2.2.2.36) that is not currently used. It MUST be set to {0.0, 0.0}.

LineHotSpot (8 bytes): An EmfPlusPointF object that is not currently used. It MUST be set to {0.0, 0.0}.

Custom line caps are specified by EmfPlusCustomLineCap objects (section 2.2.1.2).

See section 2.2.2 for the specification of additional structure objects.