# `GSDrawStackFeature`

*Structure*

## Declaration

```swift
struct GSDrawStackFeature
```

```objc
enum GSDrawStackFeature : NSUInteger;
```

```python
GSDrawStackFeature
```

## Topics

### Enumeration Cases

- [`GSDrawStackFeature.GSDrawStackFeatureCompositionGroups`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureCompositionGroups) — A composition groups combines multiple composition elements, allowing, for example, a mask to be applied to an entire group while maintaining the inner structure of the group. Otherwise, the members of the group are merged into a single path element.
- [`GSDrawStackFeature.GSDrawStackFeatureErrors`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureErrors) — Inserts error slices into the draw stack when a slice cannot be created.
- [`GSDrawStackFeature.GSDrawStackFeatureImages`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureImages) — Supporting this feature requires handling `GSDrawImageSlice`.
- [`GSDrawStackFeature.GSDrawStackFeatureIntersectionMasks`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureIntersectionMasks) — Intersection masks are not pre-applied to the slice.
- [`GSDrawStackFeature.GSDrawStackFeatureStaticComponents`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureStaticComponents) — Components (excluding smart components) are not converted to paths and instead are maintained.
- [`GSDrawStackFeature.GSDrawStackFeatureStrokes`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureStrokes) — Strokes are not written to separate draw stack slices.
- [`GSDrawStackFeature.GSDrawStackFeatureSubtractionMasks`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureSubtractionMasks) — Subtraction masks are not pre-applied to the slice.
- [`GSDrawStackFeature.GSDrawStackFeatureText`](/Core/GlyphsCore/GSDrawStackFeature/GSDrawStackFeatureText) — Supporting this feature requires handling `GSDrawTextSlice`.

