Context.stroke

void stroke()

A drawing operator that strokes the current path according to the current line width, line join, line cap, and dash settings. After [cairo.context.Context.stroke], the current path will be cleared from the cairo context. See [cairo.context.Context.setLineWidth], [cairo.context.Context.setLineJoin], [cairo.context.Context.setLineCap], [cairo.context.Context.setDash], and [cairo.context.Context.strokePreserve].

Note

Degenerate segments and sub-paths are treated specially and

provide a useful result. These can result in two different situations:

  1. Zero-length "on" segments set in [cairo.context.Context.setDash]. If the cap

style is [cairo.types.LineCap.Round] or [cairo.types.LineCap.Square] then these segments will be drawn as circular dots or squares respectively. In the case of [cairo.types.LineCap.Square], the orientation of the squares is determined by the direction of the underlying path.

  1. A sub-path created by [cairo.context.Context.moveTo] followed by either a

[cairo.context.Context.closePath] or one or more calls to [cairo.context.Context.lineTo] to the same coordinate as the [cairo.context.Context.moveTo]. If the cap style is [cairo.types.LineCap.Round] then these sub-paths will be drawn as circular dots. Note that in the case of [cairo.types.LineCap.Square] a degenerate sub-path will not be drawn at all, (since the correct orientation is indeterminate).

In no case will a cap style of [cairo.types.LineCap.Butt] cause anything to be drawn in the case of either degenerate segments or sub-paths.