Function

CGContextAddArcToPoint

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

Declaration

void CGContextAddArcToPoint(CGContextRef c, CGFloat x1, CGFloat y1, CGFloat x2, CGFloat y2, CGFloat radius);

Parameters

c

A graphics context whose current path is not empty.

x1

The x-value, in user space coordinates, for the end point of the first tangent line. The first tangent line is drawn from the current point to (x1,y1).

y1

The y-value, in user space coordinates, for the end point of the first tangent line. The first tangent line is drawn from the current point to (x1,y1).

x2

The x-value, in user space coordinates, for the end point of the second tangent line. The second tangent line is drawn from (x1,y1) to (x2,y2).

y2

The y-value, in user space coordinates, for the end point of the second tangent line. The second tangent line is drawn from (x1,y1) to (x2,y2).

radius

The radius of the arc, in user space coordinates.

Discussion

This method calculates two tangent lines—the first from the current point to the point (x1, y1), and the second from the point (x1, y1) to the point (x2, y2)—then calculates the start and end points for a circular arc of the specified radius such that the arc is tangent to both lines. Finally, this method approximates that arc with a sequence of cubic Bézier curves and appends those curves to the current path.

If the starting point of the arc (that is, the point where a circle of the specified radius must meet the first tangent line in order to also be tangent to the second line) is not the current point, this method appends a straight line segment from the current point to the starting point of the arc.

The ending point of the arc (that is, the point where a circle of the specified radius must meet the second tangent line in order to also be tangent to the first line) becomes the new current point of the path.

See Also

Constructing Paths

CGContextAddArc

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

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.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software