Contents

addArc(center:radius:startAngle:endAngle:clockwise:transform:)

Adds an arc of a circle to the path, specified with a radius and angles.

Declaration

mutating func addArc(center: CGPoint, radius: CGFloat, startAngle: Angle, endAngle: Angle, clockwise: Bool, transform: CGAffineTransform = .identity)

Parameters

  • center:

    The center of the arc, in user space coordinates.

  • radius:

    The radius of the arc, in user space coordinates.

  • startAngle:

    The angle to the starting point of the arc, measured from the positive x-axis.

  • endAngle:

    The angle to the end point of the arc, measured from the positive x-axis.

  • clockwise:

    True to make a clockwise arc; false to make a counterclockwise arc.

  • transform:

    An affine transform to apply to the arc before adding to the path. Defaults to the identity transform if not specified.

Discussion

This method calculates starting and ending points using the radius and angles you specify, uses a sequence of cubic Bézier curves to approximate a segment of a circle between those points, and then appends those curves to the path.

The clockwise parameter determines the direction in which the arc is created; the actual direction of the final path is dependent on the transform parameter and the current transform of a context where the path is drawn. However, because SwiftUI by default uses a vertically-flipped coordinate system (with the origin in the top-left of the view), specifying a clockwise arc results in a counterclockwise arc after the transformation is applied.

If the path ends with an unclosed subpath, this method adds a line connecting the current point to the starting point of the arc. If there is no unclosed subpath, this method creates a new subpath whose starting point is the starting point of the arc. The ending point of the arc becomes the new current point of the path.

See Also

Drawing a path