# `GSLayer prepareDrawing`

*Instance Method*

Prepares path component hints for direct pen drawing.

## Declaration

```swift
func prepareDrawing()
```

```objc
- (void) prepareDrawing;
```

```python
prepareDrawing()
```

## Discussion

Balance this call with [`GSLayer finishDrawing`](/Core/GlyphsCore/GSLayer/finishDrawing) after drawing the layer’s shapes directly.

## See Also

### Drawing State

- [`GSLayer.secondaryPath`](/Core/GlyphsCore/GSLayer/secondaryPath) — Auxiliary outlines generated by the most recent full Bézier path preparation.
- [`GSLayer.extraHandles`](/Core/GlyphsCore/GSLayer/extraHandles) — Interactive handles generated by the most recent full Bézier path preparation.
- [`GSLayer.currentDrawingAttributes`](/Core/GlyphsCore/GSLayer/currentDrawingAttributes) — The shape attributes applied to newly drawn shapes.
- [`GSLayer setCurrentDrawingAttribute:forKey:`](/Core/GlyphsCore/GSLayer/setCurrentDrawingAttribute:forKey:) — Sets or removes an attribute applied to newly drawn shapes.
- [`GSLayer addCurrentDrawingAttributes:`](/Core/GlyphsCore/GSLayer/addCurrentDrawingAttributes:) — Adds shape attributes applied to newly drawn shapes.
- [`GSLayer finishDrawing`](/Core/GlyphsCore/GSLayer/finishDrawing) — Finishes direct pen drawing prepared by [`GSLayer prepareDrawing`](/Core/GlyphsCore/GSLayer/prepareDrawing).

