# `GSOffsetCurve offsetLayer:offsetX:offsetY:makeStroke:autoStroke:position:metrics:error:shadow:capStyleStart:capStyleEnd:join:keepCompatibleOutlines:`

*Type Method*

## Declaration

```swift
class func offsetLayer(_ layer: GSLayer, offsetX: CGFloat, offsetY: CGFloat, makeStroke: Bool, autoStroke: Bool, position pos: CGFloat, metrics: [GSMetricStore]?, error: NSErrorPointer, shadow shadowLayer: GSLayer?, capStyleStart: GSLineCapStyle, capStyleEnd: GSLineCapStyle, join: GSLineJoinStyle, keepCompatibleOutlines keepCompatible: Bool) -> Int
```

```objc
+ (NSInteger) offsetLayer:(GSLayer *) layer offsetX:(CGFloat) offsetX offsetY:(CGFloat) offsetY makeStroke:(BOOL) makeStroke autoStroke:(BOOL) autoStroke position:(CGFloat) pos metrics:(NSArray<GSMetricStore *> *) metrics error:(NSError **) error shadow:(GSLayer *) shadowLayer capStyleStart:(GSLineCapStyle) capStyleStart capStyleEnd:(GSLineCapStyle) capStyleEnd join:(GSLineJoinStyle) join keepCompatibleOutlines:(BOOL) keepCompatible;
```

```python
offsetLayer_offsetX_offsetY_makeStroke_autoStroke_position_metrics_error_shadow_capStyleStart_capStyleEnd_join_keepCompatibleOutlines_(layer: GSLayer, offsetX: float, offsetY: float, makeStroke: bool, autoStroke: bool, pos: float, metrics: list[GSMetricStore], shadowLayer: GSLayer, capStyleStart: GSLineCapStyle, capStyleEnd: GSLineCapStyle, join: GSLineJoinStyle, keepCompatible: bool) -> tuple[int, NSError]
```

