CGPathAddArc
Appends an arc to a mutable graphics path, possibly preceded by a straight line segment.
Declaration
extern void CGPathAddArc(CGMutablePathRef path, const CGAffineTransform *m, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, bool clockwise);Parameters
- path:
The mutable graphics path to change.
- m:
A pointer to an affine transformation matrix, or
NULLif no transformation is needed. If specified, Core Graphics applies the transformation to the arc before it is added to the path. - x:
The x-coordinate of the center point of the arc.
- y:
The y-coordinate of the center point of the arc.
- radius:
The radius of the arc.
- startAngle:
The angle (in radians) that determines the starting point of the arc, measured from the x-axis in the current user space.
- endAngle:
The angle (in radians) that determines the ending point of the arc, measured from the x-axis in the current user space.
- clockwise:
A Boolean value that specifies whether or not to draw the arc in the clockwise direction, before applying the transformation matrix.
Discussion
An arc is a segment of a circle with radius r centered at a point (x,y). When you call this function, you provide the center point, radius, and two angles in radians. Core Graphics uses this information to determine the end points of the arc, and then approximates the new arc using a sequence of cubic Bézier curves. The clockwise parameter determines the direction in which the arc is created. The actual direction may change depending on the coordinate system transformation applied to the path.
A transformation may be applied to the Bézier curves before they are added to the path. If no transform is needed, the second argument should be NULL.
If the specified path already contains a subpath, Core Graphics implicitly adds a line connecting the subpath’s current point to the beginning of the arc. If the path is empty, Core Graphics creates a new subpath with a starting point set to the starting point of the arc.
The ending point of the arc becomes the new current point of the path.