Function

CGContextAddArc

Adds an arc of a circle to the current path, possibly preceded by a straight line segment

Declaration

void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise);

Parameters

c

A graphics context.

x

The x-value, in user space coordinates, for the center of the arc.

y

The y-value, in user space coordinates, for the center of the arc.

radius

The radius of the arc, in user space coordinates.

startAngle

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

endAngle

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

clockwise

Specify 1 to create a clockwise arc or 0 to create a counterclockwise arc.

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 current path.

The clockwise parameter determines the direction in which the arc is created; the actual direction of the final path is dependent on the current transformation matrix of the graphics context. In a flipped coordinate system (the default for UIView drawing methods in iOS), specifying a clockwise arc results in a counterclockwise arc after the transformation is applied.

If the current path already contains a subpath, this method adds a line connecting the current point to the starting point of the arc. If the current path is empty, his 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

Constructing Paths

CGContextAddArcToPoint

Adds an arc of a circle to the current path, using a radius and tangent points.

CGContextAddCurveToPoint

Appends a cubic Bézier curve from the current point, using the provided control points and end point .

CGContextAddLines

Adds a sequence of connected straight-line segments to the current path.

CGContextAddLineToPoint

Appends a straight line segment from the current point to the provided point .

CGContextAddPath

Adds a previously created path object to the current path in a graphics context.

CGContextCopyPath

Returns a path object built from the current path information in a graphics context.

CGContextAddQuadCurveToPoint

Appends a quadratic Bézier curve from the current point, using a control point and an end point you specify.

CGContextAddRect

Adds a rectangular path to the current path.

CGContextAddRects

Adds a set of rectangular paths to the current path.

CGContextBeginPath

Creates a new empty path in a graphics context.

CGContextClosePath

Closes and terminates the current path’s subpath.

CGContextMoveToPoint

Begins a new subpath at the point you specify.

CGContextAddEllipseInRect

Adds an ellipse that fits inside the specified rectangle.