NSBezierPath object allows you to create paths using PostScript-style commands. Paths consist of straight and curved line segments joined together. Paths can form recognizable shapes such as rectangles, ovals, arcs, and glyphs; they can also form complex polygons using either straight or curved line segments. A single path can be closed by connecting its two endpoints, or it can be left open.
- macOS 10.10+
NSBezierPath object can contain multiple disconnected paths, whether they are closed or open. Each of these paths is referred to as a subpath. The subpaths of an
NSBezierPath object must be manipulated as a group. The only way to manipulate subpaths individually is to create separate
NSBezierPath objects for each.
For a given
NSBezierPath object, you can stroke the path’s outline or fill the region occupied by the path. You can also use the path as a clipping region for views or other regions. Using methods of
NSBezierPath, you can also perform hit detection on the filled or stroked path. Hit detection is needed to implement interactive graphics, as in rubber banding and dragging operations.
The current graphics context is automatically saved and restored for all drawing operations involving
NSBezierPath objects, so your application does not need to worry about the graphics settings changing across invocations.