---
Name: CoreGraphics

#
# Global functions
#
Functions:
# The below are inline functions that are irrelevant due to memberwise inits
- Name: CGPointMake
  Availability: nonswift
  SwiftName: CGPoint.init(x:y:)
- Name: CGSizeMake
  Availability: nonswift
  SwiftName: CGSize.init(width:height:)
- Name: CGVectorMake
  Availability: nonswift
  SwiftName: CGVector.init(dx:dy:)
- Name: CGRectMake
  Availability: nonswift
  SwiftName: CGRect.init(x:y:width:height:)
- Name: CGAffineTransformMake
  Availability: nonswift
  SwiftName: CGAffineTransform.init(a:b:c:d:tx:ty:)
# 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:_:)"
- Name: CGRectGetMinX
  SwiftName: getter:CGRect.minX(self:)
- Name: CGRectGetMidX
  SwiftName: getter:CGRect.midX(self:)
- Name: CGRectGetMaxX
  SwiftName: getter:CGRect.maxX(self:)
- Name: CGRectGetMinY
  SwiftName: getter:CGRect.minY(self:)
- Name: CGRectGetMidY
  SwiftName: getter:CGRect.midY(self:)
- Name: CGRectGetMaxY
  SwiftName: getter:CGRect.maxY(self:)
- Name: CGRectGetWidth
  SwiftName: getter:CGRect.width(self:)
- Name: CGRectGetHeight
  SwiftName: getter:CGRect.height(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
  SwiftName: CGColorConversionInfo.init(fromListWithArgumentsOptions:_:_:_:_:)

# 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:)
- Name: CGBitmapContextGetBitmapInfo
  SwiftName: getter:CGContext.bitmapInfo(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
- Name: CGColorCreateGenericCMYK
  SwiftName: CGColor.init(genericCMYKCyan:magenta:yellow:black:alpha:)
- Name: CGColorCreateGenericGrayGamma2_2
  SwiftName: CGColor.init(genericGrayGamma2_2Gray:alpha:)
- Name: CGColorCreateSRGB
  SwiftName: CGColor.init(srgbRed:green:blue:alpha:)
- Name: CGColorGetAlpha
  SwiftName: getter:CGColor.alpha(self:)
- Name: CGColorGetColorSpace
  SwiftName: getter:CGColor.colorSpace(self:)
- Name: CGColorGetNumberOfComponents
  SwiftName: getter:CGColor.numberOfComponents(self:)
- Name: CGColorGetPattern
  SwiftName: getter:CGColor.pattern(self:)
- Name: CGColorGetTypeID
  SwiftName: getter:CGColor.typeID()
- Name: CGColorSpaceCopyICCData
  SwiftName: CGColorSpace.copyICCData(self:)
- Name: CGColorSpaceCopyPropertyList
  SwiftName: CGColorSpace.copyPropertyList(self:)
- Name: CGColorSpaceCreateCalibratedGray
  SwiftName: CGColorSpace.init(calibratedGrayWhitePoint:blackPoint:gamma:)
- Name: CGColorSpaceCreateCalibratedRGB
  SwiftName: CGColorSpace.init(calibratedRGBWhitePoint:blackPoint:gamma:matrix:)
- Name: CGColorSpaceCreateICCBased
  SwiftName: CGColorSpace.init(iccBasedNComponents:range:profile:alternate:)
- Name: CGColorSpaceCreateIndexed
  SwiftName: CGColorSpace.init(indexedBaseSpace:last:colorTable:)
- Name: CGColorSpaceCreateLab
  SwiftName: CGColorSpace.init(labWhitePoint:blackPoint:range:)
- Name: CGColorSpaceCreatePattern
  SwiftName: CGColorSpace.init(patternBaseSpace:)
- Name: CGColorSpaceCreateWithICCData
  SwiftName: CGColorSpace.init(iccData:)
- Name: CGColorSpaceCreateWithPropertyList
  SwiftName: CGColorSpace.init(propertyListPlist:)
- Name: CGColorSpaceGetBaseColorSpace
  SwiftName: getter:CGColorSpace.baseColorSpace(self:)
- Name: CGColorSpaceGetModel
  SwiftName: getter:CGColorSpace.model(self:)
- Name: CGColorSpaceGetNumberOfComponents
  SwiftName: getter:CGColorSpace.numberOfComponents(self:)
- Name: CGColorSpaceGetTypeID
  SwiftName: getter:CGColorSpace.typeID()
- Name: CGColorSpaceIsHDR
  SwiftName: CGColorSpace.isHDR(self:)

# CGColorConversionInfo
#
- Name: CGColorConversionInfoCreate
  SwiftName: CGColorConversionInfo.init(src:dst:)
- Name: CGColorConversionInfoCreateWithOptions
  SwiftName: CGColorConversionInfo.init(optionsSrc:dst:options:)
- Name: CGColorConversionInfoGetTypeID
  SwiftName: getter:CGColorConversionInfo.typeID()

# 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
- Name: CGColorSpaceGetName
  SwiftName: getter:CGColorSpace.__name(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:)
- Name: CGDataProviderGetTypeID
  SwiftName: getter:CGDataProvider.typeID()
- Name: CGDataProviderCreateSequential
  SwiftName: CGDataProvider.init(sequentialInfo:callbacks:)
- Name: CGDataProviderCreateDirect
  SwiftName: CGDataProvider.init(directInfo:size:callbacks:)
- Name: CGDataProviderCreateWithFilename
  SwiftName: CGDataProvider.init(filename:)
- Name: CGDataProviderGetInfo
  SwiftName: getter:CGDataProvider.info(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: CGEvent.__data(allocator:self:)
  SwiftPrivate: true
- Name: CGEventCreateCopy
  SwiftName: CGEvent.copy(self:)
- Name: CGEventPostToPid
  SwiftName: CGEvent.postToPid(_:self:)
- Name: CGEventCreateSourceFromEvent
  SwiftName: CGEventSource.init(event:)

# CGFont
- Name: CGFontCreateWithDataProvider
  SwiftName: CGFont.init(_:)
  NullabilityOfRet: O
- 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:)
- Name: CGImageGetTypeID
  SwiftName: getter:CGImage.typeID()
- Name: CGImageCreate
  SwiftName: CGImage.init(width:height:bitsPerComponent:bitsPerPixel:bytesPerRow:space:bitmapInfo:provider:decode:shouldInterpolate:intent:)
- Name: CGImageMaskCreate
  SwiftName: CGImage.init(maskWidth:height:bitsPerComponent:bitsPerPixel:bytesPerRow:provider:decode:shouldInterpolate:)
- Name: CGImageCreateWithJPEGDataProvider
  SwiftName: CGImage.init(jpegDataProviderSource:decode:shouldInterpolate:intent:)
- Name: CGImageCreateWithPNGDataProvider
  SwiftName: CGImage.init(pngDataProviderSource:decode:shouldInterpolate:intent:)
- Name: CGImageGetWidth
  SwiftName: getter:CGImage.width(self:)
- Name: CGImageGetHeight
  SwiftName: getter:CGImage.height(self:)
- Name: CGImageGetBitsPerComponent
  SwiftName: getter:CGImage.bitsPerComponent(self:)
- Name: CGImageGetBitsPerPixel
  SwiftName: getter:CGImage.bitsPerPixel(self:)
- Name: CGImageGetBytesPerRow
  SwiftName: getter:CGImage.bytesPerRow(self:)
- Name: CGImageGetColorSpace
  SwiftName: getter:CGImage.colorSpace(self:)
- Name: CGImageGetAlphaInfo
  SwiftName: getter:CGImage.alphaInfo(self:)
- Name: CGImageGetDataProvider
  SwiftName: getter:CGImage.dataProvider(self:)
- Name: CGImageGetDecode
  SwiftName: getter:CGImage.decode(self:)
- Name: CGImageGetShouldInterpolate
  SwiftName: getter:CGImage.shouldInterpolate(self:)
- Name: CGImageGetRenderingIntent
  SwiftName: getter:CGImage.renderingIntent(self:)
- Name: CGImageGetBitmapInfo
  SwiftName: getter:CGImage.bitmapInfo(self:)
- Name: CGImageGetByteOrderInfo
  SwiftName: getter:CGImage.byteOrderInfo(self:)
- Name: CGImageGetPixelFormatInfo
  SwiftName: getter:CGImage.pixelFormatInfo(self:)
- Name: CGImageGetUTType
  SwiftName: getter:CGImage.utType(self:)
- Name: CGWindowListCreateImageFromArray
  SwiftName: CGImage.init(windowListFromArrayScreenBounds:windowArray:imageOption:)
# 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

# CGPattern
- Name: CGPatternGetTypeID
  SwiftName: getter:CGPattern.typeID()
- Name: CGPatternCreate
  SwiftName: CGPattern.init(info:bounds:matrix:xStep:yStep:tiling:isColored:callbacks:)

# CGFont
- Name: CGFontGetTypeID
  SwiftName: getter:CGFont.typeID()
- Name: CGFontCreateWithPlatformFont
  SwiftName: CGFont.init(platformFontPlatformFontReference:)
- Name: CGFontGetNumberOfGlyphs
  SwiftName: getter:CGFont.numberOfGlyphs(self:)
- Name: CGFontGetUnitsPerEm
  SwiftName: getter:CGFont.unitsPerEm(self:)
- Name: CGFontGetAscent
  SwiftName: getter:CGFont.ascent(self:)
- Name: CGFontGetDescent
  SwiftName: getter:CGFont.descent(self:)
- Name: CGFontGetLeading
  SwiftName: getter:CGFont.leading(self:)
- Name: CGFontGetCapHeight
  SwiftName: getter:CGFont.capHeight(self:)
- Name: CGFontGetXHeight
  SwiftName: getter:CGFont.xHeight(self:)
- Name: CGFontGetFontBBox
  SwiftName: getter:CGFont.fontBBox(self:)
- Name: CGFontGetItalicAngle
  SwiftName: getter:CGFont.italicAngle(self:)
- Name: CGFontGetStemV
  SwiftName: getter:CGFont.stemV(self:)
- Name: CGFontGetGlyphAdvances
  SwiftName: CGFont.getGlyphAdvances(self:glyphs:count:advances:)
- Name: CGFontGetGlyphBBoxes
  SwiftName: CGFont.getGlyphBBoxes(self:glyphs:count:bboxes:)
- Name: CGFontGetGlyphWithGlyphName
  SwiftName: CGFont.getGlyphWithGlyphName(self:name:)
- Name: CGFontCanCreatePostScriptSubset
  SwiftName: CGFont.canCreatePostScriptSubset(self:_:)
- Name: CGFontCreatePostScriptSubset
  SwiftName: CGFont.createPostScriptSubset(self:subsetName:format:glyphs:count:encoding:)
- Name: CGFontCreatePostScriptEncoding
  SwiftName: CGFont.createPostScriptEncoding(self:encoding:)

# CGGradient
- Name: CGGradientGetTypeID
  SwiftName: getter:CGGradient.typeID()
- Name: CGGradientCreateWithColors
  SwiftName: CGGradient.init(colorsSpace:colors:locations:)

# CGPath
- Name: CGPathGetTypeID
  SwiftName: getter:CGPath.typeID()
- Name: CGPathCreateMutable
  SwiftName: CGMutablePath.init()
- Name: CGPathCreateWithRect
  SwiftName: CGPath.init(rect:transform:)
- Name: CGPathCreateWithEllipseInRect
  SwiftName: CGPath.init(ellipseIn:transform:)
- Name: CGPathCreateWithRoundedRect
  SwiftName: CGPath.init(roundedRect:cornerWidth:cornerHeight:transform:)
- Name: CGPathCloseSubpath
  SwiftName: CGMutablePath.closeSubpath(self:)
- Name: CGPathIsRect
  SwiftName: CGPath.isRect(self:_:)
- Name: CGPathGetCurrentPoint
  SwiftName: getter:CGPath.currentPoint(self:)
- Name: CGPathGetBoundingBox
  SwiftName: getter:CGPath.boundingBox(self:)
- Name: CGPathApply
  SwiftName: CGPath.apply(self:info:function:)
- Name: CGPathApplyWithBlock
  SwiftName: CGPath.applyWithBlock(self:_:)

# CGPDFPage
- Name: CGPDFPageGetDocument
  SwiftName: getter:CGPDFPage.document(self:)
- Name: CGPDFPageGetPageNumber
  SwiftName: getter:CGPDFPage.pageNumber(self:)
- Name: CGPDFPageGetBoxRect
  SwiftName: CGPDFPage.getBoxRect(self:_:)
- Name: CGPDFPageGetRotationAngle
  SwiftName: getter:CGPDFPage.rotationAngle(self:)
- Name: CGPDFPageGetDrawingTransform
  SwiftName: CGPDFPage.getDrawingTransform(self:_:rect:rotate:preserveAspectRatio:)
- Name: CGPDFPageGetDictionary
  SwiftName: getter:CGPDFPage.dictionary(self:)
- Name: CGPDFPageGetTypeID
  SwiftName: getter:CGPDFPage.typeID()

# CGPDFDocument
- Name: CGPDFDocumentGetVersion
  SwiftName: CGPDFDocument.getVersion(self:majorVersion:minorVersion:)
- Name: CGPDFDocumentGetNumberOfPages
  SwiftName: getter:CGPDFDocument.numberOfPages(self:)
- Name: CGPDFDocumentGetCatalog
  SwiftName: getter:CGPDFDocument.catalog(self:)
- Name: CGPDFDocumentGetInfo
  SwiftName: getter:CGPDFDocument.info(self:)
- Name: CGPDFDocumentGetTypeID
  SwiftName: getter:CGPDFDocument.typeID()
- Name: CGPDFDocumentGetOutline
  SwiftName: getter:CGPDFDocument.outline(self:)
- Name: CGPDFDocumentGetAccessPermissions
  SwiftName: getter:CGPDFDocument.accessPermissions(self:)
- Name: CGPDFDocumentGetMediaBox
  SwiftName: CGPDFDocument.getMediaBox(self:page:)
- Name: CGPDFDocumentGetCropBox
  SwiftName: CGPDFDocument.getCropBox(self:page:)
- Name: CGPDFDocumentGetBleedBox
  SwiftName: CGPDFDocument.getBleedBox(self:page:)
- Name: CGPDFDocumentGetTrimBox
  SwiftName: CGPDFDocument.getTrimBox(self:page:)
- Name: CGPDFDocumentGetArtBox
  SwiftName: CGPDFDocument.getArtBox(self:page:)
- Name: CGPDFDocumentGetRotationAngle
  SwiftName: CGPDFDocument.getRotationAngle(self:page:)

# CGFunction
- Name: CGFunctionGetTypeID
  SwiftName: getter:CGFunction.typeID()
- Name: CGFunctionCreate
  SwiftName: CGFunction.init(info:domainDimension:domain:rangeDimension:range:callbacks:)

# CGShading
- Name: CGShadingGetTypeID
  SwiftName: getter:CGShading.typeID()
- Name: CGShadingCreateAxial
  SwiftName: CGShading.init(axialSpace:start:end:function:extendStart:extendEnd:)
- Name: CGShadingCreateRadial
  SwiftName: CGShading.init(radialSpace:start:startRadius:end:endRadius:function:extendStart:extendEnd:)

# CGContext
- Name: CGContextGetTypeID
  SwiftName: getter:CGContext.typeID()
- Name: CGContextGetCTM
  SwiftName: getter:CGContext.ctm(self:)
- Name: CGContextSaveGState
  SwiftName: CGContext.saveGState(self:)
- Name: CGContextRestoreGState
  SwiftName: CGContext.restoreGState(self:)
- Name: CGContextSetLineCap
  SwiftName: CGContext.setLineCap(self:_:)
- Name: CGContextSetLineJoin
  SwiftName: CGContext.setLineJoin(self:_:)
- Name: CGContextSetBlendMode
  SwiftName: CGContext.setBlendMode(self:_:)
- Name: CGContextBeginPath
  SwiftName: CGContext.beginPath(self:)
- Name: CGContextClosePath
  SwiftName: CGContext.closePath(self:)
- Name: CGContextAddRect
  SwiftName: CGContext.addRect(self:_:)
- Name: CGContextAddPath
  SwiftName: CGContext.addPath(self:_:)
- Name: CGContextReplacePathWithStrokedPath
  SwiftName: CGContext.replacePathWithStrokedPath(self:)
- Name: CGContextStrokePath
  SwiftName: CGContext.strokePath(self:)
- Name: CGContextResetClip
  SwiftName: CGContext.resetClip(self:)
- Name: CGContextSetFillColorSpace
  SwiftName: CGContext.setFillColorSpace(self:_:)
- Name: CGContextSetStrokeColorSpace
  SwiftName: CGContext.setStrokeColorSpace(self:_:)
- Name: CGContextSetRenderingIntent
  SwiftName: CGContext.setRenderingIntent(self:_:)
- Name: CGContextGetInterpolationQuality
  SwiftName: getter:CGContext.interpolationQuality(self:)
- Name: CGContextSetInterpolationQuality
  SwiftName: setter:CGContext.interpolationQuality(self:_:)
- Name: CGContextDrawLinearGradient
  SwiftName: CGContext.drawLinearGradient(self:_:start:end:options:)
- Name: CGContextDrawRadialGradient
  SwiftName: CGContext.drawRadialGradient(self:_:startCenter:startRadius:endCenter:endRadius:options:)
- Name: CGContextDrawShading
  SwiftName: CGContext.drawShading(self:_:)
- Name: CGContextSetTextMatrix
  SwiftName: setter:CGContext.textMatrix(self:_:)
- Name: CGContextGetTextMatrix
  SwiftName: getter:CGContext.textMatrix(self:)
- Name: CGContextSetTextDrawingMode
  SwiftName: CGContext.setTextDrawingMode(self:_:)
- Name: CGContextSetFont
  SwiftName: CGContext.setFont(self:_:)
- Name: CGContextDrawPDFPage
  SwiftName: CGContext.drawPDFPage(self:_:)
- Name: CGContextEndPage
  SwiftName: CGContext.endPage(self:)
- Name: CGContextFlush
  SwiftName: CGContext.flush(self:)
- Name: CGContextSynchronize
  SwiftName: CGContext.synchronize(self:)
- Name: CGContextEndTransparencyLayer
  SwiftName: CGContext.endTransparencyLayer(self:)
- Name: CGContextGetUserSpaceToDeviceSpaceTransform
  SwiftName: getter:CGContext.userSpaceToDeviceSpaceTransform(self:)
- Name: CGContextSelectFont
  SwiftName: CGContext.selectFont(self:name:size:textEncoding:)
- Name: CGContextShowText
  SwiftName: CGContext.showText(self:string:length:)
- Name: CGContextShowTextAtPoint
  SwiftName: CGContext.showTextAtPoint(self:x:y:string:length:)
- Name: CGContextShowGlyphs
  SwiftName: CGContext.showGlyphs(self:g:count:)
- Name: CGContextShowGlyphsAtPoint
  SwiftName: CGContext.showGlyphsAtPoint(self:x:y:glyphs:count:)
- Name: CGContextShowGlyphsWithAdvances
  SwiftName: CGContext.showGlyphsWithAdvances(self:glyphs:advances:count:)
- Name: CGContextDrawPDFDocument
  SwiftName: CGContext.drawPDFDocument(self:_:document:page:)

# CGDataConsumer
- Name: CGDataConsumerGetTypeID
  SwiftName: getter:CGDataConsumer.typeID()
- Name: CGDataConsumerCreate
  SwiftName: CGDataConsumer.init(info:cbks:)
- Name: CGDataConsumerCreateWithURL
  SwiftName: CGDataConsumer.init(url:)
- Name: CGDataConsumerCreateWithCFData
  SwiftName: CGDataConsumer.init(data:)

# CGLayer
- Name: CGLayerGetSize
  SwiftName: getter:CGLayer.size(self:)
- Name: CGLayerGetContext
  SwiftName: getter:CGLayer.context(self:)
- Name: CGLayerGetTypeID
  SwiftName: getter:CGLayer.typeID()

# CGPDFTagType
- Name: CGPDFTagTypeGetName
  SwiftName: getter:CGPDFTagType.name(self:)

# CGDisplayMode
- Name: CGDisplayModeGetWidth
  SwiftName: getter:CGDisplayMode.width(self:)
- Name: CGDisplayModeGetHeight
  SwiftName: getter:CGDisplayMode.height(self:)
- Name: CGDisplayModeGetRefreshRate
  SwiftName: getter:CGDisplayMode.refreshRate(self:)
- Name: CGDisplayModeGetIOFlags
  SwiftName: getter:CGDisplayMode.ioFlags(self:)
- Name: CGDisplayModeGetIODisplayModeID
  SwiftName: getter:CGDisplayMode.ioDisplayModeID(self:)
- Name: CGDisplayModeIsUsableForDesktopGUI
  SwiftName: CGDisplayMode.isUsableForDesktopGUI(self:)
- Name: CGDisplayModeGetTypeID
  SwiftName: getter:CGDisplayMode.typeID()
- Name: CGDisplayModeGetPixelWidth
  SwiftName: getter:CGDisplayMode.pixelWidth(self:)
- Name: CGDisplayModeGetPixelHeight
  SwiftName: getter:CGDisplayMode.pixelHeight(self:)

# CGDisplayStreamUpdate
- Name: CGDisplayStreamUpdateGetTypeID
  SwiftName: getter:CGDisplayStreamUpdate.typeID()
- Name: CGDisplayStreamUpdateGetRects
  SwiftName: CGDisplayStreamUpdate.getRects(self:_:rectCount:)
- Name: CGDisplayStreamUpdateCreateMergedUpdate
  SwiftName: CGDisplayStreamUpdate.init(mergedUpdateFirstUpdate:secondUpdate:)
- Name: CGDisplayStreamUpdateGetMovedRectsDelta
  SwiftName: CGDisplayStreamUpdate.getMovedRectsDelta(self:dx:dy:)
- Name: CGDisplayStreamUpdateGetDropCount
  SwiftName: getter:CGDisplayStreamUpdate.dropCount(self:)

# CGDisplayStream
- Name: CGDisplayStreamGetTypeID
  SwiftName: getter:CGDisplayStream.typeID()
- Name: CGDisplayStreamCreate
  SwiftName: CGDisplayStream.init(display:outputWidth:outputHeight:pixelFormat:properties:handler:)
- Name: CGDisplayStreamCreateWithDispatchQueue
  SwiftName: CGDisplayStream.init(dispatchQueueDisplay:outputWidth:outputHeight:pixelFormat:properties:queue:handler:)
- Name: CGDisplayStreamStart
  SwiftName: CGDisplayStream.start(self:)
- Name: CGDisplayStreamStop
  SwiftName: CGDisplayStream.stop(self:)
- Name: CGDisplayStreamGetRunLoopSource
  SwiftName: getter:CGDisplayStream.runLoopSource(self:)

# CGEvent
- Name: CGEventGetTypeID
  SwiftName: getter:CGEvent.typeID()
- Name: CGEventCreate
  SwiftName: CGEvent.init(source:)
- Name: CGEventCreateMouseEvent
  SwiftName: CGEvent.init(mouseEventSource:mouseType:mouseCursorPosition:mouseButton:)
- Name: CGEventCreateKeyboardEvent
  SwiftName: CGEvent.init(keyboardEventSource:virtualKey:keyDown:)
- Name: CGEventCreateScrollWheelEvent2
  SwiftName: CGEvent.init(scrollWheelEvent2Source:units:wheelCount:wheel1:wheel2:wheel3:)
- Name: CGEventSetSource
  SwiftName: CGEvent.setSource(self:_:)
- Name: CGEventGetType
  SwiftName: getter:CGEvent.type(self:)
- Name: CGEventSetType
  SwiftName: setter:CGEvent.type(self:_:)
- Name: CGEventGetTimestamp
  SwiftName: getter:CGEvent.timestamp(self:)
- Name: CGEventSetTimestamp
  SwiftName: setter:CGEvent.timestamp(self:_:)
- Name: CGEventGetLocation
  SwiftName: getter:CGEvent.location(self:)
- Name: CGEventGetUnflippedLocation
  SwiftName: getter:CGEvent.unflippedLocation(self:)
- Name: CGEventSetLocation
  SwiftName: setter:CGEvent.location(self:_:)
- Name: CGEventGetFlags
  SwiftName: getter:CGEvent.flags(self:)
- Name: CGEventSetFlags
  SwiftName: setter:CGEvent.flags(self:_:)
- Name: CGEventKeyboardGetUnicodeString
  SwiftName: CGEvent.keyboardGetUnicodeString(self:maxStringLength:actualStringLength:unicodeString:)
- Name: CGEventKeyboardSetUnicodeString
  SwiftName: CGEvent.keyboardSetUnicodeString(self:stringLength:unicodeString:)
- Name: CGEventGetIntegerValueField
  SwiftName: CGEvent.getIntegerValueField(self:_:)
- Name: CGEventSetIntegerValueField
  SwiftName: CGEvent.setIntegerValueField(self:_:value:)
- Name: CGEventGetDoubleValueField
  SwiftName: CGEvent.getDoubleValueField(self:_:)
- Name: CGEventSetDoubleValueField
  SwiftName: CGEvent.setDoubleValueField(self:_:value:)
- Name: CGEventTapCreate
  SwiftName: CGEvent.tapCreate(tap:place:options:eventsOfInterest:callback:userInfo:)
- Name: CGEventTapCreateForPSN
  SwiftName: CGEvent.tapCreateForPSN(processSerialNumber:place:options:eventsOfInterest:callback:userInfo:)
- Name: CGEventTapCreateForPid
  SwiftName: CGEvent.tapCreateForPid(pid:place:options:eventsOfInterest:callback:userInfo:)
- Name: CGEventTapEnable
  SwiftName: CGEvent.tapEnable(tap:enable:)
- Name: CGEventTapIsEnabled
  SwiftName: CGEvent.tapIsEnabled(tap:)
- Name: CGEventTapPostEvent
  SwiftName: CGEvent.tapPostEvent(_:self:)
- Name: CGEventPost
  SwiftName: CGEvent.post(tap:self:)
- Name: CGEventPostToPSN
  SwiftName: CGEvent.postToPSN(processSerialNumber:self:)

# CGEventSource
- Name: CGEventSourceGetTypeID
  SwiftName: getter:CGEventSource.typeID()
- Name: CGEventSourceCreate
  SwiftName: CGEventSource.init(stateID:)
- Name: CGEventSourceGetKeyboardType
  SwiftName: getter:CGEventSource.keyboardType(self:)
- Name: CGEventSourceSetKeyboardType
  SwiftName: setter:CGEventSource.keyboardType(self:_:)
- Name: CGEventSourceGetPixelsPerLine
  SwiftName: getter:CGEventSource.pixelsPerLine(self:)
- Name: CGEventSourceSetPixelsPerLine
  SwiftName: setter:CGEventSource.pixelsPerLine(self:_:)
- Name: CGEventSourceGetSourceStateID
  SwiftName: getter:CGEventSource.sourceStateID(self:)
- Name: CGEventSourceButtonState
  SwiftName: CGEventSource.buttonState(_:button:)
- Name: CGEventSourceKeyState
  SwiftName: CGEventSource.keyState(_:key:)
- Name: CGEventSourceFlagsState
  SwiftName: CGEventSource.flagsState(_:)
- Name: CGEventSourceSecondsSinceLastEventType
  SwiftName: CGEventSource.secondsSinceLastEventType(_:eventType:)
- Name: CGEventSourceCounterForEventType
  SwiftName: CGEventSource.counterForEventType(_:eventType:)
- Name: CGEventSourceSetUserData
  SwiftName: setter:CGEventSource.userData(self:_:)
- Name: CGEventSourceGetUserData
  SwiftName: getter:CGEventSource.userData(self:)
- Name: CGEventSourceSetLocalEventsFilterDuringSuppressionState
  SwiftName: CGEventSource.setLocalEventsFilterDuringSuppressionState(self:_:state:)
- Name: CGEventSourceGetLocalEventsFilterDuringSuppressionState
  SwiftName: CGEventSource.getLocalEventsFilterDuringSuppressionState(self:_:)
- Name: CGEventSourceSetLocalEventsSuppressionInterval
  SwiftName: setter:CGEventSource.localEventsSuppressionInterval(self:_:)
- Name: CGEventSourceGetLocalEventsSuppressionInterval
  SwiftName: getter:CGEventSource.localEventsSuppressionInterval(self:)

# CGPSConverter
- Name: CGPSConverterCreate
  SwiftName: CGPSConverter.init(info:callbacks:options:)
- Name: CGPSConverterConvert
  SwiftName: CGPSConverter.convert(self:_:consumer:options:)
- Name: CGPSConverterAbort
  SwiftName: CGPSConverter.abort(self:)
- Name: CGPSConverterGetTypeID
  SwiftName: getter:CGPSConverter.typeID()

#
# Global variables
#
Globals:
# The below are globals that are defined as opaque C constants for no good
# reason.
- Name: CGPointZero
  Availability: nonswift
  SwiftName: CGPoint.zero
- Name: CGSizeZero
  Availability: nonswift
  SwiftName: CGSize.zero
- Name: CGVectorZero
  Availability: nonswift
- Name: CGRectZero
  Availability: nonswift
  SwiftName: CGRect.zero
- Name: CGAffineTransformIdentity
  Availability: nonswift
  SwiftName: CGAffineTransform.identity
- Name: CGRectNull
  SwiftName: CGRect.null
- Name: CGRectInfinite
  SwiftName: CGRect.infinite
# The below are not available in Swift
- Name: kCGColorSpaceGenericGray
  Availability: nonswift
  SwiftName: CGColorSpace.genericGray
- Name: kCGColorSpaceGenericRGB
  Availability: nonswift
  SwiftName: CGColorSpace.genericRGB
- 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
- Name: kCGColorSpaceGenericCMYK
  SwiftName: CGColorSpace.genericCMYK
- Name: kCGColorSpaceDisplayP3
  SwiftName: CGColorSpace.displayP3
- Name: kCGColorSpaceGenericRGBLinear
  SwiftName: CGColorSpace.genericRGBLinear
- Name: kCGColorSpaceAdobeRGB1998
  SwiftName: CGColorSpace.adobeRGB1998
- Name: kCGColorSpaceGenericGrayGamma2_2
  SwiftName: CGColorSpace.genericGrayGamma2_2
- Name: kCGColorSpaceGenericXYZ
  SwiftName: CGColorSpace.genericXYZ
- Name: kCGColorSpaceGenericLab
  SwiftName: CGColorSpace.genericLab
- Name: kCGColorSpaceACESCGLinear
  SwiftName: CGColorSpace.acescgLinear
- Name: kCGColorSpaceITUR_709
  SwiftName: CGColorSpace.itur_709
- Name: kCGColorSpaceITUR_2020
  SwiftName: CGColorSpace.itur_2020
- Name: kCGColorSpaceROMMRGB
  SwiftName: CGColorSpace.rommrgb
- Name: kCGColorSpaceDCIP3
  SwiftName: CGColorSpace.dcip3
- Name: kCGColorSpaceExtendedITUR_2020
  SwiftName: CGColorSpace.extendedITUR_2020
- Name: kCGColorSpaceLinearITUR_2020
  SwiftName: CGColorSpace.linearITUR_2020
- Name: kCGColorSpaceExtendedLinearITUR_2020
  SwiftName: CGColorSpace.extendedLinearITUR_2020
- Name: kCGColorSpaceLinearDisplayP3
  SwiftName: CGColorSpace.linearDisplayP3
- Name: kCGColorSpaceExtendedDisplayP3
  SwiftName: CGColorSpace.extendedDisplayP3
- Name: kCGColorSpaceExtendedLinearDisplayP3
  SwiftName: CGColorSpace.extendedLinearDisplayP3
- Name: kCGColorSpaceITUR_2020_PQ_EOTF
  SwiftName: CGColorSpace.itur_2020_PQ_EOTF
- Name: kCGColorSpaceITUR_2020_PQ
  SwiftName: CGColorSpace.itur_2020_PQ
- Name: kCGColorSpaceDisplayP3_PQ_EOTF
  SwiftName: CGColorSpace.displayP3_PQ_EOTF
- Name: kCGColorSpaceDisplayP3_PQ
  SwiftName: CGColorSpace.displayP3_PQ
- Name: kCGColorSpaceDisplayP3_HLG
  SwiftName: CGColorSpace.displayP3_HLG
- Name: kCGColorSpaceITUR_2020_HLG
  SwiftName: CGColorSpace.itur_2020_HLG
- Name: kCGColorSpaceITUR_2100_HLG
  SwiftName: CGColorSpace.itur_2100_HLG
- Name: kCGColorSpaceITUR_2100_PQ
  SwiftName: CGColorSpace.itur_2100_PQ
- Name: kCGColorSpaceExtendedSRGB
  SwiftName: CGColorSpace.extendedSRGB
- Name: kCGColorSpaceLinearSRGB
  SwiftName: CGColorSpace.linearSRGB
- Name: kCGColorSpaceExtendedLinearSRGB
  SwiftName: CGColorSpace.extendedLinearSRGB
- Name: kCGColorSpaceExtendedGray
  SwiftName: CGColorSpace.extendedGray
- Name: kCGColorSpaceLinearGray
  SwiftName: CGColorSpace.linearGray
- Name: kCGColorSpaceExtendedLinearGray
  SwiftName: CGColorSpace.extendedLinearGray
- Name: kCGFontVariationAxisName
  SwiftName: CGFont.variationAxisName
- Name: kCGFontVariationAxisMinValue
  SwiftName: CGFont.variationAxisMinValue
- Name: kCGFontVariationAxisMaxValue
  SwiftName: CGFont.variationAxisMaxValue
- Name: kCGFontVariationAxisDefaultValue
  SwiftName: CGFont.variationAxisDefaultValue
- Name: kCGColorConversionBlackPointCompensation
  SwiftName: CGColor.conversionBlackPointCompensation
- Name: kCGColorConversionTRCSize
  SwiftName: CGColor.conversionTRCSize
- Name: kCGPDFTagPropertyActualText
  SwiftName: CGPDFTagProperty.actualText
- Name: kCGPDFTagPropertyAlternativeText
  SwiftName: CGPDFTagProperty.alternativeText
- Name: kCGPDFTagPropertyTitleText
  SwiftName: CGPDFTagProperty.titleText
- Name: kCGPDFTagPropertyLanguageText
  SwiftName: CGPDFTagProperty.languageText
- Name: kCGDisplayStreamSourceRect
  SwiftName: CGDisplayStream.sourceRect
- Name: kCGDisplayStreamDestinationRect
  SwiftName: CGDisplayStream.destinationRect
- Name: kCGDisplayStreamPreserveAspectRatio
  SwiftName: CGDisplayStream.preserveAspectRatio
- Name: kCGDisplayStreamColorSpace
  SwiftName: CGDisplayStream.colorSpace
- Name: kCGDisplayStreamMinimumFrameTime
  SwiftName: CGDisplayStream.minimumFrameTime
- Name: kCGDisplayStreamShowCursor
  SwiftName: CGDisplayStream.showCursor
- Name: kCGDisplayStreamQueueDepth
  SwiftName: CGDisplayStream.queueDepth
- Name: kCGDisplayStreamYCbCrMatrix
  SwiftName: CGDisplayStream.yCbCrMatrix
- Name: kCGDisplayStreamYCbCrMatrix_ITU_R_709_2
  SwiftName: CGDisplayStream.yCbCrMatrix_ITU_R_709_2
- Name: kCGDisplayStreamYCbCrMatrix_ITU_R_601_4
  SwiftName: CGDisplayStream.yCbCrMatrix_ITU_R_601_4
- Name: kCGDisplayStreamYCbCrMatrix_SMPTE_240M_1995
  SwiftName: CGDisplayStream.yCbCrMatrix_SMPTE_240M_1995

#
# 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
  
SwiftVersions:
- Version: 3
  Functions:
  - Name: CGFontCreateWithDataProvider
    SwiftName: CGFont.init(_:)
    NullabilityOfRet: N
