---
title: "CGRectInset(_:_:_:)"
framework: coregraphics
role: symbol
role_heading: Function
path: "coregraphics/cgrectinset(_:_:_:)"
---

# CGRectInset(_:_:_:)

Returns a rectangle that is smaller or larger than the source rectangle, with the same center point.

## Declaration

```swift
func CGRectInset(_ rect: CGRect, _ dx: CGFloat, _ dy: CGFloat) -> CGRect
```

## Parameters

- `rect`: The source doc://com.apple.documentation/documentation/CoreFoundation/CGRect structure.
- `dx`: The x-coordinate value to use for adjusting the source rectangle. To create an inset rectangle, specify a positive value. To create a larger, encompassing rectangle, specify a negative value.
- `dy`: The y-coordinate value to use for adjusting the source rectangle. To create an inset rectangle, specify a positive value. To create a larger, encompassing rectangle, specify a negative value.

## Return Value

Return Value A rectangle. The origin value is offset in the x-axis by the distance specified by the dx parameter and in the y-axis by the distance specified by the dy parameter, and its size adjusted by (2*dx,2*dy), relative to the source rectangle. If dx and dy are positive values, then the rectangle’s size is decreased. If dx and dy are negative values, the rectangle’s size is increased.

## Discussion

Discussion The rectangle is standardized and then the inset parameters are applied. If the resulting rectangle would have a negative height or width, a null rectangle is returned.

## See Also

### Modifying Rectangles

- [CGRectIntegral(_:)](coregraphics/cgrectintegral(_:).md)
- [CGRectIntersection(_:_:)](coregraphics/cgrectintersection(_:_:).md)
- [CGRectOffset(_:_:_:)](coregraphics/cgrectoffset(_:_:_:).md)
- [CGRectStandardize(_:)](coregraphics/cgrectstandardize(_:).md)
- [CGRectUnion(_:_:)](coregraphics/cgrectunion(_:_:).md)
