# `GSLayer drawBezierPath:hasPaths:`

*Instance Method*

Creates a representation of the closed paths and component outlines while tracking component recursion.

## Declaration

```swift
func drawBezierPath(_ seenComponents: NSMutableSet, hasPaths: UnsafeMutablePointer<ObjCBool>) -> NSBezierPath?
```

```objc
- (NSBezierPath *) drawBezierPath:(NSMutableSet *) seenComponents hasPaths:(BOOL *) hasPaths;
```

```python
drawBezierPath_hasPaths_(seenComponents: set, hasPaths: bool) -> NSBezierPath
```

## Parameters

- `seenComponents` — The glyph names already visited in the current component hierarchy.
- `hasPaths` — On return, the logical OR of its initial value and whether the layer or one of its components contains paths.

## See Also

### Bezier Paths

- [`GSLayer.bezierPath`](/Core/GlyphsCore/GSLayer/bezierPath) — A cached representation of the layer’s closed path shapes.
- [`GSLayer.openBezierPath`](/Core/GlyphsCore/GSLayer/openBezierPath) — A cached representation of the layer’s open path shapes.
- [`GSLayer.selectionPath`](/Core/GlyphsCore/GSLayer/selectionPath) — A cached representation of the selected outline segments.
- [`GSLayer drawBezierPath`](/Core/GlyphsCore/GSLayer/drawBezierPath) — A representation of the closed paths and component outlines.
- [`GSLayer drawOpenBezierPath`](/Core/GlyphsCore/GSLayer/drawOpenBezierPath) — A representation of the open paths in the layer and its components.
- [`GSLayer drawOpenBezierPathFast`](/Core/GlyphsCore/GSLayer/drawOpenBezierPathFast) — Returns the cached representation of open paths without updating it.

