Skip to content

CoreGraphics tvOS xcode9 beta1

Miguel de Icaza edited this page Jul 19, 2017 · 2 revisions

#CoreGraphics.framework

https://github.com/xamarin/xamarin-macios/pull/2181

diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h	2016-08-06 02:29:26.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h	2017-05-20 01:42:24.000000000 -0400
@@ -271,6 +271,12 @@
 #   define cg_nullable __nullable
 #endif
 
-
+#if __has_feature(nullability_on_arrays)
+# define CG_NONNULL_ARRAY __nonnull
+# define CG_NULLABLE_ARRAY __nullable
+#else
+# define CG_NONNULL_ARRAY
+# define CG_NULLABLE_ARRAY
+#endif
 
 #endif /* CGBASE_H_ */
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColor.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColor.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColor.h	2016-09-29 00:51:33.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColor.h	2017-05-25 04:48:03.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGColor *CGColorRef;
+typedef struct CF_BRIDGED_TYPE(id) CGColor *CGColorRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreGraphics/CGColorSpace.h>
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorConversionInfo.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorConversionInfo.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorConversionInfo.h	2016-08-06 02:29:26.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorConversionInfo.h	2017-05-20 02:06:07.000000000 -0400
@@ -41,9 +41,15 @@
   (CFDictionaryRef __nullable options, cg_nullable CGColorSpaceRef, CGColorConversionInfoTransformType, CGColorRenderingIntent, ...)
   CG_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_10_0);
 
+CG_EXTERN CGColorConversionInfoRef __nullable CGColorConversionInfoCreateFromListWithArguments
+  (CFDictionaryRef __nullable options, cg_nullable CGColorSpaceRef, CGColorConversionInfoTransformType, CGColorRenderingIntent, va_list)
+  CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
 /* CFBooleanRef which can be used as option to create CGColorConversionInfoRef, when Black Point Compensation is desired */
 CG_EXTERN const CFStringRef kCGColorConversionBlackPointCompensation CG_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_10_0);
 
+CG_EXTERN const CFStringRef kCGColorConversionTRCSize CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
 CF_ASSUME_NONNULL_END
 
 CF_IMPLICIT_BRIDGING_DISABLED
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorSpace.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorSpace.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorSpace.h	2016-08-06 02:28:19.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGColorSpace.h	2017-05-20 01:58:09.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGColorSpace *CGColorSpaceRef;
+typedef struct CF_BRIDGED_TYPE(id) CGColorSpace *CGColorSpaceRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreGraphics/CGDataProvider.h>
@@ -169,10 +169,12 @@
    numbers specifying the tristimulus value, in the CIE 1931 XYZ-space, of
    the diffuse white point. `blackPoint' is an array of 3 numbers specifying
    the tristimulus value, in CIE 1931 XYZ-space, of the diffuse black point.
-   `gamma' defines the gamma for the gray component. */
+   `gamma' defines the gamma for the gray component. Specifying `blackPoint'
+   is not required and in such a case `blackPoint' will be assumed to be 
+   [0.0, 0.0, 0.0]. */
 
 CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateCalibratedGray(const CGFloat
-  whitePoint[3], const CGFloat blackPoint[3], CGFloat gamma)
+  whitePoint[CG_NONNULL_ARRAY 3], const CGFloat blackPoint[__nullable 3], CGFloat gamma)
   CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
 
 /* Create a calibrated RGB color space. `whitePoint' is an array of 3
@@ -182,28 +184,36 @@
    `gamma' is an array of 3 numbers specifying the gamma for the red, green,
    and blue components of the color space. `matrix' is an array of 9 numbers
    specifying the linear interpretation of the gamma-modified RGB values of
-   the color space with respect to the final XYZ representation. */
+   the color space with respect to the final XYZ representation. 
+   Not all parameters need to be specified. If `blackPoint' is NULL it will be
+   assumed to be [0.0, 0.0, 0.0]. If `gamma' is NULL it will be assumed to be
+   linear for all components. If `matrix' is NULL it will be assumed to be identity. */
 
 CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateCalibratedRGB(const CGFloat
-  whitePoint[3], const CGFloat blackPoint[3], const CGFloat gamma[3],
-  const CGFloat matrix[9]) CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
+  whitePoint[CG_NONNULL_ARRAY 3], const CGFloat blackPoint[__nullable 3],
+  const CGFloat gamma[__nullable 3], const CGFloat matrix[__nullable 9])
+  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
     
 /* Create an L*a*b* color space. `whitePoint' is an array of 3 numbers
    specifying the tristimulus value, in the CIE 1931 XYZ-space, of the
    diffuse white point. `blackPoint' is an array of 3 numbers specifying the
    tristimulus value, in CIE 1931 XYZ-space, of the diffuse black point.
    `range' is an array of four numbers specifying the range of valid values
-   for the a* and b* components of the color space. */
+   for the a* and b* components of the color space. Not all parameters need to be
+   specified. If `blackPoint'in NULL it will be assumed to be [0.0, 0.0, 0.0].
+   If `range' is NULL it will be assumed to be [-100, 100, -100, 100]. */
 
-CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateLab(const CGFloat whitePoint[3],
-  const CGFloat blackPoint[3], const CGFloat range[4])
+CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateLab(const CGFloat whitePoint[CG_NONNULL_ARRAY 3],
+  const CGFloat blackPoint[__nullable 3], const CGFloat range[__nullable 4])
   CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
 
-/* Create an ICC-based color space using the ICC profile specified by
-   `data'. */
+/* Create an ICC-based color space using the ICC profile raw data specified by
+   `data' which can be either CFDataRef or CGDataProviderRef */
 
-CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateWithICCProfile(CFDataRef cg_nullable data)
-  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
+CG_EXTERN CGColorSpaceRef CGColorSpaceCreateWithICCData(CFTypeRef cg_nullable data)
+  CG_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_10_0);
+
+#define CGColorSpaceCreateWithICCProfile CGColorSpaceCreateWithICCData
 
 /* Create an ICC-based color space. `nComponents' specifies the number of
    color components in the color space defined by the ICC profile data. This
@@ -315,16 +325,14 @@
 CG_EXTERN void CGColorSpaceGetColorTable(CGColorSpaceRef cg_nullable space,
   uint8_t * cg_nullable table) CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
 
-/* Return a copy of the ICC profile of `space', or NULL if the color space
+/* Return a copy of the ICC profile data of `space', or NULL if the color space
    doesn't have an ICC profile. */
 
-CG_EXTERN CFDataRef __nullable CGColorSpaceCopyICCProfile(CGColorSpaceRef cg_nullable space);
-//__CG_DEPRECATED_WITH_MSG("Don't this function; call "
-//                         "`CGColorSpaceCopyICCData' instead.");
-
 CG_EXTERN CFDataRef __nullable CGColorSpaceCopyICCData(CGColorSpaceRef cg_nullable space)
 CG_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_10_0);
 
+#define CGColorSpaceCopyICCProfile CGColorSpaceCopyICCData
+
 /* Return true if gamut of the RGB color space is greater than 85% of NTSC gamut */
 
 CG_EXTERN bool CGColorSpaceIsWideGamutRGB(CGColorSpaceRef)
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGContext.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGContext.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGContext.h	2016-09-29 00:51:33.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGContext.h	2017-05-23 18:42:06.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGContext *CGContextRef;
+typedef struct CF_BRIDGED_TYPE(id) CGContext *CGContextRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreGraphics/CGAffineTransform.h>
@@ -465,6 +465,10 @@
 CG_EXTERN void CGContextEOClip(CGContextRef cg_nullable c)
     CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
 
+/* Reset the current clip of `c' to the default value. */
+
+CG_EXTERN void CGContextResetClip(CGContextRef c);
+
 /* Add `mask' transformed to `rect' to the clipping area of `context'. The
    mask, which may be either an image mask or an image, is mapped into the
    specified rectangle and intersected with the current clipping area of the
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataConsumer.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataConsumer.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataConsumer.h	2016-08-06 02:29:27.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataConsumer.h	2017-05-20 02:06:07.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGDataConsumer *CGDataConsumerRef;
+typedef struct CF_BRIDGED_TYPE(id) CGDataConsumer *CGDataConsumerRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreFoundation/CFURL.h>
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataProvider.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataProvider.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataProvider.h	2016-09-29 00:51:34.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDataProvider.h	2017-05-20 02:06:07.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGDataProvider *CGDataProviderRef;
+typedef struct CF_BRIDGED_TYPE(id) CGDataProvider *CGDataProviderRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreFoundation/CFURL.h>
@@ -84,9 +84,13 @@
 /* Callbacks for directly accessing data.
    `version' is the version of this structure. It should be set to 0.
    `getBytePointer', if non-NULL, is called to return a pointer to the
-     provider's entire block of data.
+     provider's entire block of data. This callback may be called multiple
+     times in proper sequence with `releaseBytePointer'. Data block does not
+     need to be available until this callback is invoked.
    `releaseBytePointer', if non-NULL, is called to release a pointer to the
-     provider's entire block of data.
+     provider's entire block of data. This callback may be called multiple
+     times in proper sequence with `getBytePointer'. If possible, data should
+     be purged with this callback and refilled with `getBytePointer'.
    `getBytesAtPosition', if non-NULL, is called to copy `count' bytes at
      offset `position' from the provider's data to `buffer'. It should
      return the number of bytes copied, or 0 if there's no more data.
@@ -94,7 +98,10 @@
      the provider is freed.
 
    At least one of `getBytePointer' or `getBytesAtPosition' must be
-   non-NULL. */
+   non-NULL. 
+ 
+   If both `getBytePointer' are present `getBytesAtPosition', the latter one 
+   may be ignored. */
 
 struct CGDataProviderDirectCallbacks {
     unsigned int version;
@@ -180,6 +187,9 @@
     CGDataProviderRef cg_nullable provider)
     CG_AVAILABLE_STARTING(__MAC_10_3, __IPHONE_2_0);
 
+CG_EXTERN void* __nullable CGDataProviderGetInfo(CGDataProviderRef cg_nullable provider)
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
 CF_ASSUME_NONNULL_END
 
 CF_IMPLICIT_BRIDGING_DISABLED
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFont.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFont.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFont.h	2016-09-12 22:40:16.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFont.h	2017-05-25 04:48:03.000000000 -0400
@@ -11,7 +11,7 @@
 
 /* The type used to represent a CoreGraphics font. */
 
-typedef struct CGFont *CGFontRef;
+typedef struct CF_BRIDGED_TYPE(id) CGFont *CGFontRef;
 
 /* A type to represent indexes in a CGFontRef. */
 
@@ -69,7 +69,7 @@
 /* Return the font defined by the data provided by `provider', or NULL if
    the font can't be created. */
 
-CG_EXTERN CGFontRef cg_nullable CGFontCreateWithDataProvider(
+CG_EXTERN CGFontRef __nullable CGFontCreateWithDataProvider(
     CGDataProviderRef cg_nullable provider)
     CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
 
@@ -245,14 +245,14 @@
 CG_EXTERN CFDataRef __nullable CGFontCreatePostScriptSubset(
     CGFontRef cg_nullable font, CFStringRef cg_nullable subsetName,
     CGFontPostScriptFormat format, const CGGlyph * __nullable glyphs,
-    size_t count, const CGGlyph encoding[256])
+    size_t count, const CGGlyph encoding[CG_NONNULL_ARRAY 256])
     CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0);
 
 /* Return a PostScript encoding of `font' containing glyphs in
    `encoding'. */
 
 CG_EXTERN CFDataRef __nullable CGFontCreatePostScriptEncoding(
-    CGFontRef cg_nullable font, const CGGlyph encoding[256])
+    CGFontRef cg_nullable font, const CGGlyph encoding[CG_NONNULL_ARRAY 256])
     CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0);
 
 /* Return an array of font table tags in `font'. Each entry in the array is
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFunction.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFunction.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFunction.h	2016-09-29 00:51:33.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFunction.h	2017-05-25 04:14:35.000000000 -0400
@@ -5,11 +5,13 @@
 #ifndef CGFUNCTION_H_
 #define CGFUNCTION_H_
 
+#include <CoreFoundation/CFBase.h>
+
 /* A CGFunction is a general floating-point function evaluator which uses a
    user-specified callback to map an arbitrary number of inputs to an
    arbitrary number of outputs. */
 
-typedef struct CGFunction *CGFunctionRef;
+typedef struct CF_BRIDGED_TYPE(id) CGFunction *CGFunctionRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreFoundation/CFBase.h>
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGradient.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGradient.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGradient.h	2016-09-12 22:40:16.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGradient.h	2017-05-20 01:42:24.000000000 -0400
@@ -5,13 +5,12 @@
 #ifndef CGGRADIENT_H_
 #define CGGRADIENT_H_
 
-typedef struct CGGradient *CGGradientRef;
-
-
 #include <CoreFoundation/CFBase.h>
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
+typedef struct CF_BRIDGED_TYPE(id) CGGradient *CGGradientRef;
+
 typedef CF_OPTIONS (uint32_t, CGGradientDrawingOptions) {
   kCGGradientDrawsBeforeStartLocation = (1 << 0),
   kCGGradientDrawsAfterEndLocation = (1 << 1)
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGImage.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGImage.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGImage.h	2016-08-06 02:29:26.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGImage.h	2017-05-25 04:14:34.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGImage *CGImageRef;
+typedef struct CF_BRIDGED_TYPE(id) CGImage *CGImageRef;
 
 #include <CoreGraphics/CGColorSpace.h>
 #include <CoreGraphics/CGDataProvider.h>
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGLayer.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGLayer.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGLayer.h	2016-08-06 02:29:26.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGLayer.h	2017-05-20 02:06:07.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGLayer *CGLayerRef;
+typedef struct CF_BRIDGED_TYPE(id) CGLayer *CGLayerRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreGraphics/CGContext.h>
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h	2016-08-06 02:28:20.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h	2017-05-20 01:44:32.000000000 -0400
@@ -291,6 +291,17 @@
 CG_EXTERN const CFStringRef  kCGPDFContextOutputIntents
   CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA);
 
+/* The document's access permissions, expressed as a CFNumber. The number is
+   defined by ORing together the desired CGPDFAccessPermissions values. */
+
+CG_EXTERN const CFStringRef  kCGPDFContextAccessPermissions
+  CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
+/* Set the outline in the PDF created by a CGPDFContext (no effect in other types of CGContexts). */
+
+CG_EXTERN void CGPDFContextSetOutline(CGContextRef context, __nullable CFDictionaryRef outline)
+  CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
 CF_ASSUME_NONNULL_END
 
 CF_IMPLICIT_BRIDGING_DISABLED
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFDocument.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFDocument.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFDocument.h	2016-09-29 00:51:34.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFDocument.h	2017-05-25 04:14:35.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGPDFDocument *CGPDFDocumentRef;
+typedef struct CF_BRIDGED_TYPE(id) CGPDFDocument *CGPDFDocumentRef;
 
 #include <CoreGraphics/CGDataProvider.h> 
 #include <CoreGraphics/CGGeometry.h> 
@@ -20,6 +20,70 @@
 
 CF_ASSUME_NONNULL_BEGIN
 
+// To get access permissions from a CGPDFDocument, call CGPDFDocumentGetAccessPermissions. Setting permissions
+// can only be done using the kCGPDFContextAccessPermissions property in the auxiliary info dictionary passed
+// in to CGPDFContextCreate.
+//
+// Some PDF access permissions are non-strict supersets of other permissions. Granting access to a superset
+// permission also grants access to permission(s) it is a superset of. These permissions are as follows:
+//
+// * Granting kCGPDFAllowsHighQualityPrinting also grants kCGPDFAllowsLowQualityPrinting
+// * Granting kCGPDFAllowsDocumentChanges also grants kCGPDFAllowsCommenting and kCGPDFAllowsFormFieldEntry
+// * Granting kCGPDFAllowsContentCopying also grants kCGPDFAllowsContentAccessibility
+// * Granting kCGPDFAllowsCommenting also grants kCGPDFAllowsFormFieldEntry
+//
+// These relationships don't come from the PDF spec. There is nothing in the spec that says you always get
+// low-quality printing if you've already got high-quality printing. They are just two different bits with
+// no explicit dependencies. However, in practice, the software that most people use to edit PDF permissions
+// only allows creation of PDFs that follow these conventions.
+//
+// In the interest of consistency with how these bits are used in practice, kCGPDFContextAccessPermissions
+// enforces the superset model of PDF permissions. For example, if you try to grant high-quality printing but
+// not low-quality printing, the low-quality bit will get turned on anyway. This does not apply to how permissions
+// are read, however. It's very likely that there exist PDFs that don't follow these conventions. For that reason,
+// when checking permissions, always check for the narrowest one that applies. For example, if you're interested
+// in form field entry, always test for kCGPDFAllowsFormFieldEntry specifically. You can't assume that you have it
+// just because you also have kCGPDFAllowsCommenting or kCGPDFAllowsDocumentChanges.
+
+typedef CF_OPTIONS(uint32_t, CGPDFAccessPermissions) {
+    kCGPDFAllowsLowQualityPrinting    = (1 << 0),   // Print at up to 150 DPI
+    kCGPDFAllowsHighQualityPrinting   = (1 << 1),   // Print at any DPI
+    kCGPDFAllowsDocumentChanges       = (1 << 2),   // Modify the document contents except for page management
+    kCGPDFAllowsDocumentAssembly      = (1 << 3),   // Page management: insert, delete, and rotate pages
+    kCGPDFAllowsContentCopying        = (1 << 4),   // Extract content (text, images, etc.)
+    kCGPDFAllowsContentAccessibility  = (1 << 5),   // Extract content, but only for the purpose of accessibility
+    kCGPDFAllowsCommenting            = (1 << 6),   // Create or modify annotations, including form field entries
+    kCGPDFAllowsFormFieldEntry        = (1 << 7)    // Modify form field entries
+};
+
+/* CFDictionary keys for use with CGPDFDocumentGetOutline and CGPDFContextSetOutline. */
+
+// Outlines don't contain a single root node, however we have to represent outlines as trees with a single root.
+// The root CFDictionary will only have one key (kCGPDFOutlineChildren), and it is not considered part of the
+// outline itself. All CFDictionaries below the root must have at least two keys: kCGPDFOutlineTitle and
+// kCGPDFOutlineDestination. If they have any children, they must have kCGPDFOutlineChildren as well. Finally,
+// kCGPDFOutlineDestinationRect can optionally be present to associate an area of the destination page.
+
+/* Key:   kCGPDFOutlineTitle */
+/* Value: CFString */
+CG_EXTERN const CFStringRef kCGPDFOutlineTitle
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
+/* Key:   kCGPDFOutlineChildren */
+/* Value: CFArray of CFDictionaries */
+CG_EXTERN const CFStringRef kCGPDFOutlineChildren
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
+/* Key:   kCGPDFOutlineDestination */
+/* Value: CFNumber (for a one-indexed page number) or CFURL */
+CG_EXTERN const CFStringRef kCGPDFOutlineDestination
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
+/* Key:   kCGPDFOutlineDestinationRect */
+/* Value: CFDictionary from CGRectCreateDictionaryRepresentation. Only valid when the destination is a page number. */
+CG_EXTERN const CFStringRef kCGPDFOutlineDestinationRect
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
 /* Create a PDF document, using `provider' to obtain the document's data. */
 
 CG_EXTERN CGPDFDocumentRef __nullable CGPDFDocumentCreateWithProvider(
@@ -126,6 +190,16 @@
 CG_EXTERN CFTypeID CGPDFDocumentGetTypeID(void)
     CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);
 
+/* Return the document outline in the form of a CFDictionary tree containing the kCGPDFOutline keys. */
+
+CG_EXTERN __nullable CFDictionaryRef CGPDFDocumentGetOutline(CGPDFDocumentRef document)
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
+/* Return the document access permissions. */
+
+CG_EXTERN CGPDFAccessPermissions CGPDFDocumentGetAccessPermissions(CGPDFDocumentRef document)
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
 /* The following functions are deprecated in favor of the CGPDFPage API. */
 
 /* DEPRECATED; return the media box of page number `page' in `document'.
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFPage.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFPage.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFPage.h	2016-08-06 02:29:26.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFPage.h	2017-05-20 02:06:07.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGPDFPage *CGPDFPageRef;
+typedef struct CF_BRIDGED_TYPE(id) CGPDFPage *CGPDFPageRef;
 
 #include <CoreGraphics/CGAffineTransform.h> 
 #include <CoreGraphics/CGPDFDictionary.h> 
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h	2016-08-06 02:28:20.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h	2017-05-25 04:48:03.000000000 -0400
@@ -9,8 +9,8 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGPath *CGMutablePathRef;
-typedef const struct CGPath *CGPathRef;
+typedef struct CF_BRIDGED_TYPE(id) CGPath *CGMutablePathRef;
+typedef const struct CF_BRIDGED_TYPE(id) CGPath *CGPathRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreGraphics/CGAffineTransform.h>
@@ -388,6 +388,11 @@
     CGPathApplierFunction cg_nullable function)
     CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);
 
+typedef void (^CGPathApplyBlock)(const CGPathElement * element);
+
+CG_EXTERN void CGPathApplyWithBlock(CGPathRef path, CGPathApplyBlock CF_NOESCAPE block)
+    CG_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_11_0);
+
 CF_ASSUME_NONNULL_END
 
 CF_IMPLICIT_BRIDGING_DISABLED
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPattern.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPattern.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPattern.h	2016-08-06 02:29:26.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPattern.h	2017-05-20 02:06:07.000000000 -0400
@@ -5,11 +5,12 @@
 #ifndef CGPATTERN_H_
 #define CGPATTERN_H_
 
-typedef struct CGPattern *CGPatternRef;
+#include <CoreFoundation/CFBase.h>
+
+typedef struct CF_BRIDGED_TYPE(id) CGPattern *CGPatternRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreGraphics/CGContext.h>
-#include <CoreFoundation/CFBase.h>
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGShading.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGShading.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGShading.h	2016-08-06 02:29:26.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGShading.h	2017-05-20 02:06:07.000000000 -0400
@@ -9,7 +9,7 @@
 #include <CoreFoundation/CFAvailability.h>
 #include <stdint.h>
 
-typedef struct CGShading *CGShadingRef;
+typedef struct CF_BRIDGED_TYPE(id) CGShading *CGShadingRef;
 
 #include <CoreGraphics/CGBase.h>
 #include <CoreGraphics/CGColorSpace.h>
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes
--- /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes	2017-05-25 04:48:03.000000000 -0400
@@ -0,0 +1,775 @@
+---
+Name: CoreGraphics
+SwiftInferImportAsMember: true
+
+#
+# Global functions
+#
+Functions:
+# The below are inline functions that are irrelevant due to memberwise inits
+- Name: CGPointMake
+  Availability: nonswift
+- Name: CGSizeMake
+  Availability: nonswift
+- Name: CGVectorMake
+  Availability: nonswift
+- Name: CGRectMake
+  Availability: nonswift
+- Name: CGAffineTransformMake
+  Availability: nonswift
+# The below are fixups that inference didnt quite do what we wanted, and are
+# pulled over from what used to be in the overlays
+- Name: CGRectIsNull
+  SwiftName: "getter:CGRect.isNull(self:)"
+- Name: CGRectIsEmpty
+  SwiftName: "getter:CGRect.isEmpty(self:)"
+- Name: CGRectIsInfinite
+  SwiftName: "getter:CGRect.isInfinite(self:)"
+- Name: CGRectStandardize
+  SwiftName: "getter:CGRect.standardized(self:)"
+- Name: CGRectIntegral
+  SwiftName: "getter:CGRect.integral(self:)"
+- Name: CGRectInset
+  SwiftName: "CGRect.insetBy(self:dx:dy:)"
+- Name: CGRectOffset
+  SwiftName: "CGRect.offsetBy(self:dx:dy:)"
+- Name: CGRectUnion
+  SwiftName: "CGRect.union(self:_:)"
+- Name: CGRectIntersection
+  SwiftName: "CGRect.intersection(self:_:)"
+- Name: CGRectContainsRect
+  SwiftName: "CGRect.contains(self:_:)"
+- Name: CGRectContainsPoint
+  SwiftName: "CGRect.contains(self:_:)"
+- Name: CGRectIntersectsRect
+  SwiftName: "CGRect.intersects(self:_:)"
+# The below are not available in Swift
+# FIXME: empty-argument-label pattern is currently failing SILGen
+- Name: CGColorSpaceCreateDeviceGray
+  SwiftName: CGColorSpaceCreateDeviceGray()
+- Name: CGColorSpaceCreateDeviceRGB
+  SwiftName: CGColorSpaceCreateDeviceRGB()
+- Name: CGColorSpaceCreateDeviceCMYK
+  SwiftName: CGColorSpaceCreateDeviceCMYK()
+# TODO: make these unavailable, but theyre needed for pre-iOS 9
+# - Name: CGColorSpaceCreateDeviceGray
+#   Availability: nonswift
+# - Name: CGColorSpaceCreateDeviceRGB
+#   Availability: nonswift
+# - Name: CGColorSpaceCreateDeviceCMYK
+#   Availability: nonswift
+- Name: CGColorConversionInfoCreateFromListWithArguments
+  Availability: nonswift
+
+# The below are attempts at providing better names than inference
+# CGAffineTransform
+- Name: CGAffineTransformMakeTranslation
+  SwiftName: CGAffineTransform.init(translationX:y:)
+- Name: CGAffineTransformMakeScale
+  SwiftName: CGAffineTransform.init(scaleX:y:)
+- Name: CGAffineTransformMakeRotation
+  SwiftName: CGAffineTransform.init(rotationAngle:)
+- Name: CGAffineTransformIsIdentity
+  SwiftName: getter:CGAffineTransform.isIdentity(self:)
+- Name: CGAffineTransformTranslate
+  SwiftName: CGAffineTransform.translatedBy(self:x:y:)
+- Name: CGAffineTransformScale
+  SwiftName: CGAffineTransform.scaledBy(self:x:y:)
+- Name: CGAffineTransformRotate
+  SwiftName: CGAffineTransform.rotated(self:by:)
+- Name: CGAffineTransformConcat
+  SwiftName: CGAffineTransform.concatenating(self:_:)
+- Name: CGAffineTransformInvert
+  SwiftName: CGAffineTransform.inverted(self:)
+- Name: CGPointApplyAffineTransform
+  SwiftName: CGPoint.applying(self:_:)
+- Name: CGSizeApplyAffineTransform
+  SwiftName: CGSize.applying(self:_:)
+- Name: CGRectApplyAffineTransform
+  SwiftName: CGRect.applying(self:_:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGAffineTransformEqualToTransform
+  # replaced by Equatable / ==
+  SwiftName: CGAffineTransform.__equalTo(self:_:)
+  SwiftPrivate: true
+
+# CGBitmapContext
+- Name: CGBitmapContextCreateWithData
+  SwiftName: CGContext.init(data:width:height:bitsPerComponent:bytesPerRow:space:bitmapInfo:releaseCallback:releaseInfo:)
+- Name: CGBitmapContextCreate
+  SwiftName: CGContext.init(data:width:height:bitsPerComponent:bytesPerRow:space:bitmapInfo:)
+- Name: CGBitmapContextGetData
+  SwiftName: getter:CGContext.data(self:)
+- Name: CGBitmapContextGetWidth
+  SwiftName: getter:CGContext.width(self:)
+- Name: CGBitmapContextGetHeight
+  SwiftName: getter:CGContext.height(self:)
+- Name: CGBitmapContextGetBitsPerComponent
+  SwiftName: getter:CGContext.bitsPerComponent(self:)
+- Name: CGBitmapContextGetBitsPerPixel
+  SwiftName: getter:CGContext.bitsPerPixel(self:)
+- Name: CGBitmapContextGetBytesPerRow
+  SwiftName: getter:CGContext.bytesPerRow(self:)
+- Name: CGBitmapContextGetColorSpace
+  SwiftName: getter:CGContext.colorSpace(self:)
+- Name: CGBitmapContextGetAlphaInfo
+  SwiftName: getter:CGContext.alphaInfo(self:)
+- Name: CGBitmapContextCreateImage
+  SwiftName: CGContext.makeImage(self:)
+
+# CGColor
+#
+- Name: CGColorCreate
+  SwiftName: CGColor.init(colorSpace:components:)
+- Name: CGColorCreateGenericGray
+  SwiftName: CGColor.init(gray:alpha:)
+- Name: CGColorCreateGenericRGB
+  SwiftName: CGColor.init(red:green:blue:alpha:)
+- Name: CGColorCreateCMYK
+  SwiftName: CGColor.init(cyan:magenta:yellow:black:alpha:)
+- Name: CGColorCreateWithPattern
+  SwiftName: CGColor.init(patternSpace:pattern:components:)
+- Name: CGColorCreateCopy
+  SwiftName: CGColor.copy(self:)
+- Name: CGColorCreateCopyWithAlpha
+  SwiftName: CGColor.copy(self:alpha:)
+- Name: CGColorCreateCopyByMatchingToColorSpace
+  SwiftName: CGColor.converted(to:intent:self:options:)
+# Replaced by actual constant colors in the overlay
+- Name: CGColorGetConstantColor
+  SwiftName: CGColor.__constantColor(for:)
+  SwiftPrivate: true
+# Replaced by == operator in the overlay
+- Name: CGColorEqualToColor
+  SwiftName: CGColor.__equalTo(self:_:)
+  SwiftPrivate: true
+# Replaced in the overlay: var components: [CGFloat]?
+- Name: CGColorGetComponents
+  SwiftName: getter:CGColor.__unsafeComponents(self:)
+  SwiftPrivate: true
+
+
+# CGColorSpace
+#
+# These are cases where we want better names than ImportAsMember inference gets
+- Name: CGColorSpaceCreateWithICCProfile
+  SwiftName: CGColorSpace.init(iccProfileData:)
+- Name: CGColorSpaceCreateWithPlatformColorSpace
+  SwiftName: CGColorSpace.init(platformColorSpaceRef:)
+- Name: CGColorSpaceCreateWithName
+  SwiftName: CGColorSpace.init(name:)
+- Name: CGColorSpaceCopyName
+  SwiftName: getter:CGColorSpace.name(self:)
+- Name: CGColorSpaceCopyICCProfile
+  SwiftName: getter:CGColorSpace.iccData(self:)
+- Name: CGColorSpaceIsWideGamutRGB
+  SwiftName: getter:CGColorSpace.isWideGamutRGB(self:)
+- Name: CGColorSpaceSupportsOutput
+  SwiftName: getter:CGColorSpace.supportsOutput(self:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGColorSpaceGetColorTableCount
+  # merged count and pointer to single array property
+  SwiftName: getter:CGColorSpace.__colorTableCount(self:)
+  SwiftPrivate: true
+- Name: CGColorSpaceGetColorTable
+  # merged count and pointer to single array property
+  SwiftName: CGColorSpace.__unsafeGetColorTable(self:_:)
+  SwiftPrivate: true
+
+# CGContext
+#
+# These are cases where we want better names than ImportAsMember inference gets
+- Name: CGConttextSaveGState
+  SwiftName: CGContext.saveGraphicsState(self:)
+- Name: CGConttextRestoreGState
+  SwiftName: CGContext.restoreGraphicsState(self:)
+- Name: CGContextConcatCTM
+  SwiftName: CGContext.concatenate(self:_:)
+- Name: CGContextScaleCTM
+  SwiftName: CGContext.scaleBy(self:x:y:)
+- Name: CGContextTranslateCTM
+  SwiftName: CGContext.translateBy(self:x:y:)
+- Name: CGContextRotateCTM
+  SwiftName: CGContext.rotate(self:by:)
+- Name: CGContextSetLineWidth
+  SwiftName: CGContext.setLineWidth(self:_:)
+- Name: CGContextSetMiterLimit
+  SwiftName: CGContext.setMiterLimit(self:_:)
+- Name: CGContextSetFlatness
+  SwiftName: CGContext.setFlatness(self:_:)
+- Name: CGContextSetAlpha
+  SwiftName: CGContext.setAlpha(self:_:)
+- Name: CGContextAddEllipseInRect
+  SwiftName: CGContext.addEllipse(self:in:)
+- Name: CGContextIsPathEmpty
+  SwiftName: getter:CGContext.isPathEmpty(self:)
+- Name: CGContextGetPathCurrentPoint
+  SwiftName: getter:CGContext.currentPointOfPath(self:)
+- Name: CGContextGetPathBoundingBox
+  SwiftName: getter:CGContext.boundingBoxOfPath(self:)
+- Name: CGContextCopyPath
+  SwiftName: getter:CGContext.path(self:)
+- Name: CGContextPathContainsPoint
+  SwiftName: CGContext.pathContains(self:_:mode:)
+- Name: CGContextDrawPath
+  SwiftName: CGContext.drawPath(self:using:)
+- Name: CGContextFillRect
+  SwiftName: CGContext.fill(self:_:)
+- Name: CGContextStrokeRect
+  SwiftName: CGContext.stroke(self:_:)
+- Name: CGContextStrokeRectWithWidth
+  SwiftName: CGContext.stroke(self:_:width:)
+- Name: CGContextClearRect
+  SwiftName: CGContext.clear(self:_:)
+- Name: CGContextFillEllipseInRect
+  SwiftName: CGContext.fillEllipse(self:in:)
+- Name: CGContextStrokeEllipseInRect
+  SwiftName: CGContext.strokeEllipse(self:in:)
+- Name: CGContextGetClipBoundingBox
+  SwiftName: getter:CGContext.boundingBoxOfClipPath(self:)
+- Name: CGContextClipToRect
+  SwiftName: CGContext.clip(self:to:)
+- Name: CGContextClipToMask
+  SwiftName: CGContext.clip(self:to:mask:)
+- Name: CGContextSetFillColor
+  SwiftName: CGContext.setFillColor(self:_:)
+- Name: CGContextSetFillColorWithColor
+  SwiftName: CGContext.setFillColor(self:_:)
+- Name: CGContextSetFillPattern
+  SwiftName: CGContext.setFillPattern(self:_:colorComponents:)
+- Name: CGContextSetStrokePattern
+  SwiftName: CGContext.setStrokePattern(self:_:colorComponents:)
+- Name: CGContextSetPatternPhase
+  SwiftName: CGContext.setPatternPhase(self:_:)
+- Name: CGContextSetGrayFillColor
+  SwiftName: CGContext.setFillColor(self:gray:alpha:)
+- Name: CGContextSetGrayStrokeColor
+  SwiftName: CGContext.setStrokeColor(self:gray:alpha:)
+- Name: CGContextSetRGBFillColor
+  SwiftName: CGContext.setFillColor(self:red:green:blue:alpha:)
+- Name: CGContextSetRGBStrokeColor
+  SwiftName: CGContext.setStrokeColor(self:red:green:blue:alpha:)
+- Name: CGContextSetStrokeColor
+  SwiftName: CGContext.setStrokeColor(self:_:)
+- Name: CGContextSetStrokeColorWithColor
+  SwiftName: CGContext.setStrokeColor(self:_:)
+- Name: CGContextSetCMYKFillColor
+  SwiftName: CGContext.setFillColor(self:cyan:magenta:yellow:black:alpha:)
+- Name: CGContextSetCMYKStrokeColor
+  SwiftName: CGContext.setStrokeColor(self:cyan:magenta:yellow:black:alpha:)
+- Name: CGContextSetShadowWithColor
+  SwiftName: CGContext.setShadow(self:offset:blur:color:)
+# - Name: CGContextSetShadow
+#   SwiftName: CGContext.setShadow(self:offset:blur:)
+- Name: CGContextSetCharacterSpacing
+  SwiftName: CGContext.setCharacterSpacing(self:_:)
+- Name: CGContextSetFontSize
+  SwiftName: CGContext.setFontSize(self:_:)
+# - Name: CGContextBeginPage
+#   SwiftName: CGContext.beginPage(self:mediaBox:)
+- Name: CGContextSetShouldAntialias
+  SwiftName: CGContext.setShouldAntialias(self:_:)
+- Name: CGContextSetAllowsAntialiasing
+  SwiftName: CGContext.setAllowsAntialiasing(self:_:)
+- Name: CGContextSetShouldSmoothFonts
+  SwiftName: CGContext.setShouldSmoothFonts(self:_:)
+- Name: CGContextSetAllowsFontSmoothing
+  SwiftName: CGContext.setAllowsFontSmoothing(self:_:)
+- Name: CGContextSetShouldSubpixelPositionFonts
+  SwiftName: CGContext.setShouldSubpixelPositionFonts(self:_:)
+- Name: CGContextSetAllowsFontSubpixelPositioning
+  SwiftName: CGContext.setAllowsFontSubpixelPositioning(self:_:)
+- Name: CGContextSetShouldSubpixelQuantizeFonts
+  SwiftName: CGContext.setShouldSubpixelQuantizeFonts(self:_:)
+- Name: CGContextSetAllowsFontSubpixelQuantization
+  SwiftName: CGContext.setAllowsFontSubpixelQuantization(self:_:)
+- Name: CGContextBeginTransparencyLayer
+  SwiftName: CGContext.beginTransparencyLayer(self:auxiliaryInfo:)
+- Name: CGContextBeginTransparencyLayerWithRect
+  SwiftName: CGContext.beginTransparencyLayer(self:in:auxiliaryInfo:)
+- Name: CGContextConvertPointToDeviceSpace
+  SwiftName: CGContext.convertToDeviceSpace(self:_:)
+- Name: CGContextConvertPointToUserSpace
+  SwiftName: CGContext.convertToUserSpace(self:_:)
+- Name: CGContextConvertSizeToDeviceSpace
+  SwiftName: CGContext.convertToDeviceSpace(self:_:)
+- Name: CGContextConvertSizeToUserSpace
+  SwiftName: CGContext.convertToUserSpace(self:_:)
+- Name: CGContextConvertRectToDeviceSpace
+  SwiftName: CGContext.convertToDeviceSpace(self:_:)
+- Name: CGContextConvertRectToUserSpace
+  SwiftName: CGContext.convertToUserSpace(self:_:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGContextSetLineDash
+  # replaced by setLineDash(phase:lengths:) --  array instead of pointer/count
+  SwiftName: CGContext.__setLineDash(self:phase:lengths:count:)
+  SwiftPrivate: true
+- Name: CGContextMoveToPoint
+  # replaced by move(to: CGPoint)
+  SwiftName: CGContext.__moveTo(self:x:y:)
+  SwiftPrivate: true
+- Name: CGContextAddLineToPoint
+  # replaced by addLine(to: CGPoint)
+  SwiftName: CGContext.__addLineTo(self:x:y:)
+  SwiftPrivate: true
+- Name: CGContextAddCurveToPoint
+  # replaced by addCurve(to:control1:control2:)
+  SwiftName: CGContext.__addCurveTo(self:cp1x:cp1y:cp2x:cp2y:endingAtX:y:)
+  SwiftPrivate: true
+- Name: CGContextAddQuadCurveToPoint
+  # replaced by addQuadCurve(to:control:)
+  SwiftName: CGContext.__addQuadCurveTo(self:cpx:cpy:endingAtX:y:)
+  SwiftPrivate: true
+- Name: CGContextAddRects
+  # replaced by addRects(_:) -- array instead of pointer/count
+  SwiftName: CGContext.__addRects(self:_:count:)
+  SwiftPrivate: true
+- Name: CGContextAddLines
+  # replaced by addLines(between:) -- array instead of pointer/count
+  SwiftName: CGContext.__addLines(self:between:count:)
+  SwiftPrivate: true
+- Name: CGContextAddArc
+  # replaced by addArc(center:radius:startAngle:endAngle:clockwise:) -- CW is Bool, not Int32
+  SwiftName: CGContext.__addArc(self:centerX:y:radius:startAngle:endAngle:clockwise:)
+  SwiftPrivate: true
+- Name: CGContextAddArcToPoint
+  # replaced by addArc(tangent1End:tangent2End:radius:)
+  SwiftName: CGContext.__addArc(self:x1:y1:x2:y2:radius:)
+  SwiftPrivate: true
+- Name: CGContextFillRects
+  # replaced by fill(_ rects: [CGRect]) -- array instead of pointer/count
+  SwiftName: CGContext.__fill(self:_:count:)
+  SwiftPrivate: true
+- Name: CGContextStrokeLineSegments
+  # replaced by strokeLineSegments(between points: [CGPoint]) -- array instead of pointer/count
+  SwiftName: CGContext.__strokeLineSegments(self:between:count:)
+  SwiftPrivate: true
+- Name: CGContextClipToRects
+  # replaced by clip(to rects: [CGRect]) -- array instead of pointer/count
+  SwiftName: CGContext.__clip(self:to:count:)
+  SwiftPrivate: true
+- Name: CGContextDrawImage
+  # replaced by draw(_ image: CGImage, in rect: CGRect, byTiling: Bool = false)
+  SwiftName: CGContext.__draw(self:in:image:)
+  SwiftPrivate: true
+- Name: CGContextDrawTiledImage
+  # replaced by draw(_ image: CGImage, in rect: CGRect, byTiling: Bool = false)
+  SwiftName: CGContext.__draw(self:in:byTiling:)
+  SwiftPrivate: true
+- Name: CGContextGetTextPosition
+  # replaced by readwrite property
+  SwiftName: getter:CGContext.__textPosition(self:)
+  SwiftPrivate: true
+- Name: CGContextSetTextPosition
+  # replaced by readwrite property
+  SwiftName: CGContext.__setTextPosition(self:x:y:)
+  SwiftPrivate: true
+- Name: CGContextShowGlyphsAtPositions
+  # replaced by showGlyphs(_:at:) -- array instead of pointer/count
+  SwiftName: CGContext.__showGlyphs(self:_:atPositions:count:)
+  SwiftPrivate: true
+- Name: CGContextFillPath
+  # replaced by combining winding and evenOdd rules to one func with an enum
+  SwiftName: CGContext.__fillPath(self:)
+  SwiftPrivate: true
+- Name: CGContextEOFillPath
+  # replaced by combining winding and evenOdd rules to one func with an enum
+  # has nothing to do with Enterprise Objects
+  SwiftName: CGContext.__eoFillPath(self:)
+  SwiftPrivate: true
+- Name: CGContextClip
+  # replaced by combining winding and evenOdd rules to one func with an enum
+  SwiftName: CGContext.__clip(self:)
+  SwiftPrivate: true
+- Name: CGContextEOClip
+  # replaced by combining winding and evenOdd rules to one func with an enum
+  SwiftName: CGContext.__eoClip(self:)
+  SwiftPrivate: true
+
+# CGDataConsumer
+# - Name: CGDataConsumerCreateWithURL
+#   SwiftName: CGDataConsumer.init(url:)
+# - Name: CGDataConsumerCreateWithCFData
+#   SwiftName: CGDataConsumer.init(data:)
+
+# CGDataProvider
+# - Name: CGDataProviderCreateWithData
+#   SwiftName: CGDataProvider.init(dataInfo:data:size:releaseData:)
+# - Name: CGDataProviderCreateWithCFData
+#   SwiftName: CGDataProvider.init(data:)
+# - Name: CGDataProviderCreateWithURL
+#   SwiftName: CGDataProvider.init(url:)
+- Name: CGDataProviderCopyData
+  SwiftName: getter:CGDataProvider.data(self:)
+
+# CGDirectDisplay
+- Name: CGDisplayModeCopyPixelEncoding
+  SwiftName: getter:CGDisplayMode.pixelEncoding(self:)
+- Name: CGDisplayCreateImageForRect
+  SwiftName: CGDisplayCreateImage(_:rect:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGGetLastMouseDelta
+  # replaced by a version that returns CGVector instead of using out-pointers
+  SwiftPrivate: true
+
+# CGEvent
+- Name: CGEventCreateFromData
+  SwiftName: CGEvent.init(withDataAllocator:data:)
+- Name: CGEventCreateData
+  SwiftName: getter:CGEvent.data(self:)
+- Name: CGEventCreateCopy
+  SwiftName: CGEvent.copy(self:)
+- Name: CGEventPostToPid
+  SwiftName: CGEvent.postToPid(_:self:)
+- Name: CGEventCreateSourceFromEvent
+  SwiftName: CGEventSource.init(event:)
+
+# CGFont
+- Name: CGFontCreateWithDataProvider
+  SwiftName: CGFont.init(_:)
+- Name: CGFontCreateWithFontName
+  SwiftName: CGFont.init(_:)
+- Name: CGFontCopyPostScriptName
+  SwiftName: getter:CGFont.postScriptName(self:)
+- Name: CGFontCopyFullName
+  SwiftName: getter:CGFont.fullName(self:)
+- Name: CGFontCopyVariationAxes
+  SwiftName: getter:CGFont.variationAxes(self:)
+- Name: CGFontCopyVariations
+  SwiftName: getter:CGFont.variations(self:)
+- Name: CGFontCopyGlyphNameForGlyph
+  SwiftName: CGFont.name(self:for:)
+- Name: CGFontCopyTableTags
+  SwiftName: getter:CGFont.tableTags(self:)
+- Name: CGFontCopyTableForTag
+  SwiftName: CGFont.table(self:for:)
+- Name: CGFontCreateCopyWithVariations
+  SwiftName: CGFont.copy(self:withVariations:)
+
+# CGGeometry
+- Name: CGPointCreateDictionaryRepresentation
+  SwiftName: getter:CGPoint.dictionaryRepresentation(self:)
+- Name: CGSizeCreateDictionaryRepresentation
+  SwiftName: getter:CGSize.dictionaryRepresentation(self:)
+- Name: CGRectCreateDictionaryRepresentation
+  SwiftName: getter:CGRect.dictionaryRepresentation(self:)
+- Name: CGPointEqualToPoint
+  SwiftName: CGPoint.equalTo(self:_:)
+- Name: CGSizeEqualToSize
+  SwiftName: CGSize.equalTo(self:_:)
+- Name: CGRectEqualToRect
+  SwiftName: CGRect.equalTo(self:_:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGRectDivide
+  # hide the pointer version in favor of the tuple-return version
+  SwiftName: CGRect.__divided(self:slice:remainder:atDistance:from:)
+  SwiftPrivate: true
+- Name: CGPointMakeWithDictionaryRepresentation
+  # hide in favor of an init (cant map to initializer because out-pointer)
+  SwiftName: CGPoint.__setFromDictionaryRepresentation(_:_:)
+  SwiftPrivate: true
+- Name: CGSizeMakeWithDictionaryRepresentation
+  # hide in favor of an init (cant map to initializer because out-pointer)
+  SwiftName: CGSize.__setFromDictionaryRepresentation(_:_:)
+  SwiftPrivate: true
+- Name: CGRectMakeWithDictionaryRepresentation
+  # hide in favor of an init (cant map to initializer because out-pointer)
+  SwiftName: CGRect.__setFromDictionaryRepresentation(_:_:)
+  SwiftPrivate: true
+
+# CGGradient
+- Name: CGGradientCreateWithColorComponents
+  SwiftName: CGGradient.init(colorSpace:colorComponents:locations:count:)
+- Name: CGGradientCreateWithColorSpace
+  SwiftName: CGGradient.init(colorSpace:colors:locations:)
+
+# CGImage
+- Name: CGImageCreateCopy
+  SwiftName: CGImage.copy(self:)
+- Name: CGImageCreateCopyWithColorSpace
+  SwiftName: CGImage.copy(self:colorSpace:)
+- Name: CGImageCreateWithImageInRect
+  SwiftName: CGImage.cropping(self:to:)
+- Name: CGImageCreateWithMask
+  SwiftName: CGImage.masking(self:_:)
+- Name: CGImageIsMask
+  SwiftName: getter:CGImage.isMask(self:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGImageCreateWithMaskingColors
+  # replaced by a version that takes an array instead of UnsafePointer
+  SwiftName: CGImage.__copy(self:maskingColorComponents:)
+  SwiftPrivate: true
+
+# CGLayer
+- Name: CGLayerCreateWithContext
+  SwiftName: CGLayer.init(_:size:auxiliaryInfo:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGContextDrawLayerInRect
+  # API notes cant rearrange args, want layer first to match draw(image:) etc
+  SwiftName: CGContext.__draw(self:in:layer:)
+  SwiftPrivate: true
+- Name: CGContextDrawLayerAtPoint
+  # API notes cant rearrange args, want layer first to match draw(image:) etc
+  SwiftName: CGContext.__draw(self:at:layer:)
+  SwiftPrivate: true
+
+# CGPDFContext
+- Name: CGPDFContextCreate
+  SwiftName: CGContext.init(consumer:mediaBox:_:)
+- Name: CGPDFContextCreateWithURL
+  SwiftName: CGContext.init(_:mediaBox:_:)
+- Name: CGPDFContextClose
+  SwiftName: CGContext.closePDF(self:)
+- Name: CGPDFContextBeginPage
+  SwiftName: CGContext.beginPDFPage(self:_:)
+- Name: CGPDFContextEndPage
+  SwiftName: CGContext.endPDFPage(self:)
+- Name: CGPDFContextAddDocumentMetadata
+  SwiftName: CGContext.addDocumentMetadata(self:_:)
+- Name: CGPDFContextSetURLForRect
+  SwiftName: CGContext.setURL(self:_:for:)
+- Name: CGPDFContextAddDestinationAtPoint
+  SwiftName: CGContext.addDestination(self:_:at:)
+- Name: CGPDFContextSetDestinationForRect
+  SwiftName: CGContext.setDestination(self:_:for:)
+
+# CGPDFDocument
+- Name: CGPDFDocumentGetID
+  SwiftName: getter:CGPDFDocument.fileIdentifier(self:)
+- Name: CGPDFDocumentIsEncrypted
+  SwiftName: getter:CGPDFDocument.isEncrypted(self:)
+- Name: CGPDFDocumentIsUnlocked
+  SwiftName: getter:CGPDFDocument.isUnlocked(self:)
+- Name: CGPDFDocumentAllowsPrinting
+  SwiftName: getter:CGPDFDocument.allowsPrinting(self:)
+- Name: CGPDFDocumentAllowsCopying
+  SwiftName: getter:CGPDFDocument.allowsCopying(self:)
+- Name: CGPDFDocumentCreateWithProvider
+  SwiftName: CGPDFDocument.init(_:)
+- Name: CGPDFDocumentCreateWithURL
+  SwiftName: CGPDFDocument.init(_:)
+- Name: CGPDFDocumentUnlockWithPassword
+  SwiftName: CGPDFDocument.unlockWithPassword(self:_:)
+- Name: CGPDFDocumentGetPage
+  SwiftName: CGPDFDocument.page(self:at:)
+# CGPDFPage
+# FIXME: cannot be getter, due to extra parameter
+# - Name: CGPDFPageGetBoxRect
+#   SwiftName: getter:CGPDFPage.boxRect(self:)
+# CGPSConverter
+- Name: CGPSConverterIsConverting
+  SwiftName: getter:CGPSConverter.isConverting(self:)
+
+# CGPath
+- Name: CGPathCreateCopy
+  SwiftName: CGPath.copy(self:)
+- Name: CGPathCreateCopyByTransformingPath
+  SwiftName: CGPath.copy(self:using:)
+- Name: CGPathCreateMutableCopy
+  SwiftName: CGPath.mutableCopy(self:)
+- Name: CGPathCreateMutableCopyByTransformingPath
+  SwiftName: CGPath.mutableCopy(self:using:)
+- Name: CGPathGetPathBoundingBox
+  SwiftName: getter:CGPath.boundingBoxOfPath(self:)
+- Name: CGPathIsEmpty
+  SwiftName: getter:CGPath.isEmpty(self:)
+# These are hidden so we can improve them further in the SDK overlay
+- Name: CGPathCreateCopyByDashingPath
+  # replaced by copy(...) method, move transform to end, pointer/count => array
+  SwiftName: CGPath.init(__byDashing:transform:phase:lengths:count:)
+  SwiftPrivate: true
+- Name: CGPathCreateCopyByStrokingPath
+  # replaced by copy(...) method, move transform to end
+  SwiftName: CGPath.init(__byStroking:transform:lineWidth:lineCap:lineJoin:miterLimit:)
+  SwiftPrivate: true
+- Name: CGPathContainsPoint
+  # replaced to move transform to end
+  # TODO: replace eoFill with a FillRule enum for clarity
+  SwiftName: CGPath.__containsPoint(self:transform:point:eoFill:)
+  SwiftPrivate: true
+- Name: CGPathEqualToPath
+  # replaced in favor of == / Equatable
+  SwiftName: CGPath.__equalTo(self:_:)
+  SwiftPrivate: true
+- Name: CGPathAddRoundedRect
+  SwiftName: CGMutablePath.__addRoundedRect(self:transform:rect:cornerWidth:cornerHeight:)
+- Name: CGPathMoveToPoint
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__moveTo(self:transform:x:y:)
+  SwiftPrivate: true
+- Name: CGPathAddLineToPoint
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__addLineTo(self:transform:x:y:)
+  SwiftPrivate: true
+- Name: CGPathAddCurveToPoint
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__addCurve(self:transform:cp1x:cp1y:cp2x:cp2y:endingAtX:y:)
+  SwiftPrivate: true
+- Name: CGPathAddQuadCurveToPoint
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__addQuadCurve(self:transform:cpx:cpy:endingAtX:y:)
+  SwiftPrivate: true
+- Name: CGPathAddRect
+  # replaced to move transform to end
+  SwiftName: CGMutablePath.__addRect(self:transform:rect:)
+  SwiftPrivate: true
+- Name: CGPathAddRects
+  # replaced to move transform to end, use array not pointer/count
+  SwiftName: CGMutablePath.__addRects(self:transform:rects:count:)
+  SwiftPrivate: true
+- Name: CGPathAddLines
+  # replaced to use CGPoint, move transform to end, use array not pointer/count
+  SwiftName: CGMutablePath.__addLines(self:transform:between:count:)
+  SwiftPrivate: true
+- Name: CGPathAddEllipseInRect
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__addEllipse(self:transform:rect:)
+  SwiftPrivate: true
+- Name: CGPathAddRelativeArc
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__addRelativeArc(self:transform:x:y:radius:startAngle:delta:)
+  SwiftPrivate: true
+- Name: CGPathAddArc
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__addArc(self:transform:x:y:radius:startAngle:endAngle:clockwise:)
+  SwiftPrivate: true
+- Name: CGPathAddArcToPoint
+  # replaced to use CGPoint, move transform to end
+  SwiftName: CGMutablePath.__addArc(self:transform:x1:y1:x2:y2:radius:)
+  SwiftPrivate: true
+- Name: CGPathAddPath
+  # replaced to move transform to end
+  SwiftName: CGMutablePath.__addPath(self:transform:path:)
+  SwiftPrivate: true
+
+#
+# Global variables
+#
+Globals:
+# The below are globals that are defined as opaque C constants for no good
+# reason.
+- Name: CGPointZero
+  Availability: nonswift
+- Name: CGSizeZero
+  Availability: nonswift
+- Name: CGVectorZero
+  Availability: nonswift
+- Name: CGRectZero
+  Availability: nonswift
+- Name: CGAffineTransformIdentity
+  Availability: nonswift
+# The below are not available in Swift
+- Name: kCGColorSpaceGenericGray
+  Availability: nonswift
+- Name: kCGColorSpaceGenericRGB
+  Availability: nonswift
+- Name: kCGColorSpaceSRGB
+  SwiftName: CGColorSpace.sRGB
+# These are actual constant colors, not color names, in the overlay
+- Name: kCGColorWhite
+  SwiftName: CGColor.__whiteColorName
+  SwiftPrivate: true
+- Name: kCGColorBlack
+  SwiftName: CGColor.__blackColorName
+  SwiftPrivate: true
+- Name: kCGColorClear
+  SwiftName: CGColor.__clearColorName
+  SwiftPrivate: true
+
+#
+# Enums
+#
+Enumerators:
+# The below are attempts at providing better names than inference
+# CGColorSpace
+- Name: kCGRenderingIntentDefault
+  SwiftName: CGColorRenderingIntent.defaultIntent
+- Name: kCGRenderingIntentAbsoluteColorimetric
+  SwiftName: CGColorRenderingIntent.absoluteColorimetric
+- Name: kCGRenderingIntentRelativeColorimetric
+  SwiftName: CGColorRenderingIntent.relativeColorimetric
+- Name: kCGRenderingIntentPerceptual
+  SwiftName: CGColorRenderingIntent.perceptual
+- Name: kCGRenderingIntentSaturation
+  SwiftName: CGColorRenderingIntent.saturation
+- Name: kCGMomentumScrollPhaseContinue
+  SwiftName: CGMomentumScrollPhase.continuous
+- Name: kCGColorSpaceModelRGB
+  SwiftName: CGColorSpaceModel.rgb
+- Name: kCGColorSpaceModelCMYK
+  SwiftName: CGColorSpaceModel.cmyk
+
+# CGContext
+- Name: kCGBlendModeXOR
+  SwiftName: CGBlendMode.xor
+# CGEventTypes
+- Name: kCGEventMouseSubtypeDefault
+  SwiftName: CGEventMouseSubtype.defaultType
+- Name: kCGEventTapOptionDefault
+  SwiftName: CGEventTapOptions.defaultTap
+- Name: kCGEventSourceStatePrivate
+  SwiftName: CGEventSourceStateID.privateState
+# CGImage
+- Name: kCGImageAlphaOnly
+  SwiftName: alphaOnly
+# CGWindowLevel
+- Name: kCGBaseWindowLevelKey
+  SwiftName: CGWindowLevelKey.baseWindow
+- Name: kCGMinimumWindowLevelKey
+  SwiftName: CGWindowLevelKey.minimumWindow
+- Name: kCGDesktopWindowLevelKey
+  SwiftName: CGWindowLevelKey.desktopWindow
+- Name: kCGDesktopIconWindowLevelKey
+  SwiftName: CGWindowLevelKey.desktopIconWindow
+- Name: kCGBackstopMenuLevelKey
+  SwiftName: CGWindowLevelKey.backstopMenu
+- Name: kCGNormalWindowLevelKey
+  SwiftName: CGWindowLevelKey.normalWindow
+- Name: kCGFloatingWindowLevelKey
+  SwiftName: CGWindowLevelKey.floatingWindow
+- Name: kCGTornOffMenuWindowLevelKey
+  SwiftName: CGWindowLevelKey.tornOffMenuWindow
+- Name: kCGDockWindowLevelKey
+  SwiftName: CGWindowLevelKey.dockWindow
+- Name: kCGMainMenuWindowLevelKey
+  SwiftName: CGWindowLevelKey.mainMenuWindow
+- Name: kCGStatusWindowLevelKey
+  SwiftName: CGWindowLevelKey.statusWindow
+- Name: kCGModalPanelWindowLevelKey
+  SwiftName: CGWindowLevelKey.modalPanelWindow
+- Name: kCGPopUpMenuWindowLevelKey
+  SwiftName: CGWindowLevelKey.popUpMenuWindow
+- Name: kCGDraggingWindowLevelKey
+  SwiftName: CGWindowLevelKey.draggingWindow
+- Name: kCGScreenSaverWindowLevelKey
+  SwiftName: CGWindowLevelKey.screenSaverWindow
+- Name: kCGMaximumWindowLevelKey
+  SwiftName: CGWindowLevelKey.maximumWindow
+- Name: kCGOverlayWindowLevelKey
+  SwiftName: CGWindowLevelKey.overlayWindow
+- Name: kCGHelpWindowLevelKey
+  SwiftName: CGWindowLevelKey.helpWindow
+- Name: kCGUtilityWindowLevelKey
+  SwiftName: CGWindowLevelKey.utilityWindow
+- Name: kCGCursorWindowLevelKey
+  SwiftName: CGWindowLevelKey.cursorWindow
+- Name: kCGAssistiveTechHighWindowLevelKey
+  SwiftName: CGWindowLevelKey.assistiveTechHighWindow
+# CGConfigureOption
+- Name: kCGConfigureForAppOnly
+  SwiftName: forAppOnly
+# CGScreenUpdateOperation
+- Name: kCGScreenUpdateOperationRefresh
+  SwiftName: refresh
+# CGWindowListOption
+- Name: kCGWindowListOptionAll
+  SwiftName: optionAll
+
+
+#
+# Tags
+#
+Tags:
+# The below are not available in Swift
+- Name: CGGlypDeprecatedEnum
+  Availability: nonswift
Clone this wiki locally