The kind of stroke is specified by Style, and the parameters of the stroke's segments are specified by the stroke's points. Each segment uses the points it needs until there are not enough more for an additional segment. If Shadowed is true, the stroke is drawn with the GetShadowPen at a offset given by GetShadowOffset. If HighlightPen is non-null, that pen is used to drawn the stroke first. Finally Pen is used to draw the stroke. If FromArrow or ToArrow are true, the corresponding arrowheads are drawn according to the values of the ArrowAnchorPoint, ArrowLength, ArrowShaftLength, ArrowWidth, and ArrowFilled.