---
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 didn't 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 they're needed for pre-iOS 9
# - Name: CGColorSpaceCreateDeviceGray
#   Availability: nonswift
# - Name: CGColorSpaceCreateDeviceRGB
#   Availability: nonswift
# - Name: CGColorSpaceCreateDeviceCMYK
#   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 (can't map to initializer because out-pointer)
  SwiftName: CGPoint.__setFromDictionaryRepresentation(_:_:)
  SwiftPrivate: true
- Name: CGSizeMakeWithDictionaryRepresentation
  # hide in favor of an init (can't map to initializer because out-pointer)
  SwiftName: CGSize.__setFromDictionaryRepresentation(_:_:)
  SwiftPrivate: true
- Name: CGRectMakeWithDictionaryRepresentation
  # hide in favor of an init (can't 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 can't rearrange args, want layer first to match draw(image:) etc
  SwiftName: CGContext.__draw(self:in:layer:)
  SwiftPrivate: true
- Name: CGContextDrawLayerAtPoint
  # API notes can't 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
