<!--
{
  "documentType" : "article",
  "framework" : "QuartzCore",
  "identifier" : "/documentation/QuartzCore/core-animation-data-types",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Core Animation Data Types"
}
-->

# Core Animation Data Types

## Topics

### Data Types

[`struct CAAnimationCalculationMode`](/documentation/QuartzCore/CAAnimationCalculationMode)

[`struct CAAnimationRotationMode`](/documentation/QuartzCore/CAAnimationRotationMode)

[`struct CAEmitterLayerEmitterMode`](/documentation/QuartzCore/CAEmitterLayerEmitterMode)

[`struct CAEmitterLayerEmitterShape`](/documentation/QuartzCore/CAEmitterLayerEmitterShape)

[`struct CAEmitterLayerRenderMode`](/documentation/QuartzCore/CAEmitterLayerRenderMode)

[`struct CAGradientLayerType`](/documentation/QuartzCore/CAGradientLayerType)

[`struct CALayerContentsFilter`](/documentation/QuartzCore/CALayerContentsFilter)

[`struct CALayerContentsFormat`](/documentation/QuartzCore/CALayerContentsFormat)

[`struct CALayerContentsGravity`](/documentation/QuartzCore/CALayerContentsGravity)

[`struct CALayerCornerCurve`](/documentation/QuartzCore/CALayerCornerCurve)

[`struct CAMediaTimingFillMode`](/documentation/QuartzCore/CAMediaTimingFillMode)

[`struct CAMediaTimingFunctionName`](/documentation/QuartzCore/CAMediaTimingFunctionName)

[`struct CAScrollLayerScrollMode`](/documentation/QuartzCore/CAScrollLayerScrollMode)

[`struct CAShapeLayerFillRule`](/documentation/QuartzCore/CAShapeLayerFillRule)

[`struct CAShapeLayerLineCap`](/documentation/QuartzCore/CAShapeLayerLineCap)

[`struct CAShapeLayerLineJoin`](/documentation/QuartzCore/CAShapeLayerLineJoin)

[`struct CATextLayerAlignmentMode`](/documentation/QuartzCore/CATextLayerAlignmentMode)

[`struct CATextLayerTruncationMode`](/documentation/QuartzCore/CATextLayerTruncationMode)

[`struct CATransitionSubtype`](/documentation/QuartzCore/CATransitionSubtype)

[`struct CATransitionType`](/documentation/QuartzCore/CATransitionType)

[`struct CAValueFunctionName`](/documentation/QuartzCore/CAValueFunctionName)

### Variables

[`static let automatic: CALayer.ToneMapMode`](/documentation/QuartzCore/CALayer/ToneMapMode-swift.struct/automatic)

[`static let ifSupported: CALayer.ToneMapMode`](/documentation/QuartzCore/CALayer/ToneMapMode-swift.struct/ifSupported)

[`static let never: CALayer.ToneMapMode`](/documentation/QuartzCore/CALayer/ToneMapMode-swift.struct/never)

### Macros

[`#define CA_BOXABLE`](/documentation/QuartzCore/CA_BOXABLE)

[`#define CA_CONST`](/documentation/QuartzCore/CA_CONST)

[`#define CA_DEPRECATED`](/documentation/QuartzCore/CA_DEPRECATED)

[`#define CA_EXTERN`](/documentation/QuartzCore/CA_EXTERN)

[`#define CA_EXTERN_C_BEGIN`](/documentation/QuartzCore/CA_EXTERN_C_BEGIN)

[`#define CA_EXTERN_C_END`](/documentation/QuartzCore/CA_EXTERN_C_END)

[`#define CA_GNUC(major, minor)`](/documentation/QuartzCore/CA_GNUC)

[`#define CA_INLINE`](/documentation/QuartzCore/CA_INLINE)

[`#define CA_MALLOC`](/documentation/QuartzCore/CA_MALLOC)

[`#define CA_NOINLINE`](/documentation/QuartzCore/CA_NOINLINE)

[`#define CA_NORETURN`](/documentation/QuartzCore/CA_NORETURN)

[`#define CA_PURE`](/documentation/QuartzCore/CA_PURE)

[`var CA_WARN_DEPRECATED: Int32`](/documentation/QuartzCore/CA_WARN_DEPRECATED)

[`#define CA_WARN_UNUSED`](/documentation/QuartzCore/CA_WARN_UNUSED)

### Type Aliases

[`struct ToneMapMode`](/documentation/QuartzCore/CALayer/ToneMapMode-swift.struct)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)