Function

Adds to a path an ellipse that fits inside a rectangle.

## Parameters

`path`

The path to modify.

`m`

An affine transform to apply to the ellipse, or `NULL` if you don’t want to transform the ellipse.

`rect`

A rectangle to enclose the ellipse.

## Discussion

The ellipse is approximated by a sequence of Bézier curves. Its center is the midpoint of the rectangle defined by the `rect` parameter. If the rectangle is square, then the ellipse is circular with a radius equal to one-half the width (or height) of the rectangle. If the `rect` parameter specifies a rectangular shape, then the major and minor axes of the ellipse are defined by the width and height of the rectangle.

The ellipse forms a complete subpath of the path—that is, the ellipse drawing starts with a move-to operation and ends with a close-subpath operation, with all moves oriented in the clockwise direction. If you supply an affine transform, then the constructed Bézier curves that define the ellipse are transformed before they are added to the path.

### Modifying Core Graphics Paths

`CGPathAddArc`

Appends an arc to a mutable graphics path, possibly preceded by a straight line segment.

`CGPathAddRelativeArc`

Appends an arc to a mutable graphics path, possibly preceded by a straight line segment.

`CGPathAddArcToPoint`

Appends an arc to a mutable graphics path, possibly preceded by a straight line segment.

`CGPathAddCurveToPoint`

Appends a cubic Bézier curve to a mutable graphics path.

`CGPathAddLines`

Appends an array of new line segments to a mutable graphics path.

`CGPathAddLineToPoint`

Appends a line segment to a mutable graphics path.

`CGPathAddPath`

Appends a path to onto a mutable graphics path.

`CGPathAddQuadCurveToPoint`

Appends a quadratic Bézier curve to a mutable graphics path.

`CGPathAddRect`

Appends a rectangle to a mutable graphics path.

`CGPathAddRects`

Appends an array of rectangles to a mutable graphics path.

`CGPathAddRoundedRect`

Appends a rounded rectangle to a mutable graphics path.

`CGPathApply`

For each element in a graphics path, calls a custom applier function.

`CGPathMoveToPoint`

Starts a new subpath at a specified location in a mutable graphics path.

`CGPathCloseSubpath`

Closes and completes a subpath in a mutable graphics path.

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.