# `GSLayer bounds`

*Instance Method*

The drawable bounds of the layer.

## Declaration

```swift
func bounds() -> NSRect
```

```objc
- (NSRect) bounds;
```

[See also `bounds` in the Python API](https://docu.glyphsapp.com/#GSLayer.bounds)

```python
pyobjc_instanceMethods.bounds() -> NSRect
```

## Discussion

The bounds include paths and components. They do not include anchors, hints, guidelines, or other non-shape objects.

Returns `NSZeroRect` when the layer has no drawable bounds.

## See Also

### Bounds

- [`GSLayer fastBounds`](/Core/GlyphsCore/GSLayer/fastBounds) — The overestimated bounds of the layer’s shapes.
- [`GSLayer.minX`](/Core/GlyphsCore/GSLayer/minX) — Left edge of [`GSLayer bounds`](/Core/GlyphsCore/GSLayer/bounds).
- [`GSLayer.minY`](/Core/GlyphsCore/GSLayer/minY) — Bottom edge of [`GSLayer bounds`](/Core/GlyphsCore/GSLayer/bounds).
- [`GSLayer.maxX`](/Core/GlyphsCore/GSLayer/maxX) — Right edge of [`GSLayer bounds`](/Core/GlyphsCore/GSLayer/bounds).
- [`GSLayer.maxY`](/Core/GlyphsCore/GSLayer/maxY) — Top edge of [`GSLayer bounds`](/Core/GlyphsCore/GSLayer/bounds).
- [`GSLayer boundsTransform:`](/Core/GlyphsCore/GSLayer/boundsTransform:) — The drawable bounds of the layer after applying a transform.
- [`GSLayer boundsAngle:`](/Core/GlyphsCore/GSLayer/boundsAngle:) — The drawable bounds of the layer after applying a transform.
- [`GSLayer boundsOfSelection`](/Core/GlyphsCore/GSLayer/boundsOfSelection) — The bounds of the current selection.
- [`GSLayer boundsOfSelectionAngle:`](/Core/GlyphsCore/GSLayer/boundsOfSelectionAngle:) — The bounds of the current selection after applying a transform.

