Instance Method

Adds a subpath to the path, in the shape of a rectangle with rounded corners.

## Parameters

`rect`

The rectangle to add, specified in user space coordinates.

`cornerWidth`

The horizontal size, in user space coordinates, for rounded corner sections.

`cornerHeight`

The vertical size, in user space coordinates, for rounded corner sections.

`transform`

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

## Discussion

This convenience method is equivalent to a move operation to start the subpath followed by a series of arc and line operations that construct the rounded rectangle. Each corner of the rounded rectangle is one-quarter of an ellipse with axes equal to the `cornerWidth` and `cornerHeight` parameters. The rounded rectangle forms a closed subpath oriented in the clockwise direction.

### Constructing a Graphics Path

`func move(to: CGPoint, transform: CGAffineTransform)`

Begins a new subpath at the specified point.

`func addLine(to: CGPoint, transform: CGAffineTransform)`

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

`func addLines(between: [CGPoint], transform: CGAffineTransform)`

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

`func addRects([CGRect], transform: CGAffineTransform)`

Adds a set of rectangular subpaths to the path.

`func addEllipse(in: CGRect, transform: CGAffineTransform)`

Adds an ellipse that fits inside the specified rectangle.

`func addArc(tangent1End: CGPoint, tangent2End: CGPoint, radius: CGFloat, transform: CGAffineTransform)`

Adds an arc of a circle to the path, specified with a radius and two tangent lines.

`func addCurve(to: CGPoint, control1: CGPoint, control2: CGPoint, transform: CGAffineTransform)`

Adds a cubic Bézier curve to the path, with the specified end point and control points.

`func addQuadCurve(to: CGPoint, control: CGPoint, transform: CGAffineTransform)`

Adds a quadratic Bézier curve to the path, with the specified end point and control point.

`func closeSubpath()`

Closes and completes a subpath in a mutable graphics path.