# `GSDrawPath`

*Protocol*

## Declaration

```swift
protocol GSDrawPath : NSCopying
```

```objc
@protocol GSDrawPath <NSCopying>
```

```python
GSDrawPath
```

## Topics

### Instance Properties

- [`GSDrawPath.countOfAttributes`](/Core/GlyphsCore/GSDrawPath/countOfAttributes)
- [`GSDrawPath.endPosition`](/Core/GlyphsCore/GSDrawPath/endPosition) — For open paths, returns the last on-curve position of the path, otherwise `GSPointNull`.
- [`GSDrawPath.closed`](/Core/GlyphsCore/GSDrawPath/closed) — Whether the path is closed.
- [`GSDrawPath.startPosition`](/Core/GlyphsCore/GSDrawPath/startPosition) — For open paths, returns the first on-curve position of the path, otherwise `GSPointNull`.

### Instance Methods

- [`GSDrawPath segments`](/Core/GlyphsCore/GSDrawPath/segments)
- [`GSDrawPath subpaths`](/Core/GlyphsCore/GSDrawPath/subpaths) — An array of pens of the same pen type representing the same overall path as the receiver but split by move-to instructions into subpaths.

## Relationships

### Inherits From

- `NSCopying`

### Conforming Types

- [`GSPath`](/Core/GlyphsCore/GSPath)

