diff --git a/docs/website/generator-errors.md b/docs/website/generator-errors.md index 3349efe205cd..28e5ba6d41e6 100644 --- a/docs/website/generator-errors.md +++ b/docs/website/generator-errors.md @@ -212,6 +212,35 @@ This usually indicates a bug in Xamarin.iOS/Xamarin.Mac; please [file a bug repo ### BI1070: The type '{type}' is trying to inline the property '{property}' from the protocols '{protocol1}' and '{protocol2}', but the inlined properties are of different types ('{property1}' is int, while '{property2}' is int). + + +### BI1072: Missing [CoreImageFilterProperty] attribute on {type} property {name} + +This error happens when a binding type, decorated with `[CoreImageFilter]` attribute, has properties that are not decorated with a `[CoreImageFilterProperty]` attribute. E.g. + +```csharp +[CoreImageFilter] +[BaseType (typeof (CIFilter))] +interface CICustomFilter { + + CGAffineTransform Transform { get; } +} +``` + +To solve this error you need to tell the `CIFilter` key that you want to map to the property, e.g. + +```csharp +[CoreImageFilter] +[BaseType (typeof (CIFilter))] +interface CICustomFilter { + + [CoreImageFilterProperty ("inputTransform")] + CGAffineTransform Transform { get; } +} +``` + +If the property is inlined from a protocol then the `[Export]` value, prefixed with `input`, will be used by default. You can override this with by adding the `[CoreImageFilterProperty]` attribute (e.g. for `output*` keys). + # BI11xx: warnings diff --git a/src/CoreImage/CIContext.cs b/src/CoreImage/CIContext.cs index 38db2e4ecf4f..789ebd740049 100644 --- a/src/CoreImage/CIContext.cs +++ b/src/CoreImage/CIContext.cs @@ -119,6 +119,16 @@ public bool? CacheIntermediates { SetBooleanValue (CIContext.CacheIntermediates, value); } } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + public bool? AllowLowPower { + get { + return GetBoolValue (CIContext.AllowLowPower); + } + set { + SetBooleanValue (CIContext.AllowLowPower, value); + } + } } public partial class CIContext { diff --git a/src/CoreImage/CIFilter.cs b/src/CoreImage/CIFilter.cs index a8694c644ced..255ee556dbf5 100644 --- a/src/CoreImage/CIFilter.cs +++ b/src/CoreImage/CIFilter.cs @@ -173,42 +173,61 @@ internal void SetInt (string key, int value) SetValueForKey (new NSNumber (value), nskey); } + internal void SetNInt (string key, nint value) + { + using (var nskey = new NSString (key)) + SetValueForKey (new NSNumber (value), nskey); + } + internal void SetBool (string key, bool value) { using (var nskey = new NSString (key)) SetValueForKey (new NSNumber (value ? 1 : 0), nskey); } - internal float GetFloat (string key) + internal void SetValue (string key, CGPoint value) { - using (var nskey = new NSString (key)){ - var v = ValueForKey (nskey); - if (v is NSNumber) - return (v as NSNumber).FloatValue; - return 0; + using (var nskey = new NSString (key)) + using (var nsv = new CIVector (value.X, value.Y)) { + SetValueForKey (nsv, nskey); } } - internal int GetInt (string key) + internal void SetValue (string key, CGRect value) { - using (var nskey = new NSString (key)){ - var v = ValueForKey (nskey); - if (v is NSNumber) - return (v as NSNumber).Int32Value; - return 0; + using (var nskey = new NSString (key)) + using (var nsv = new CIVector (value.X, value.Y, value.Width, value.Height)) { + SetValueForKey (nsv, nskey); } } - internal bool GetBool (string key) + internal T Get (string key) where T : class { - using (var nskey = new NSString (key)){ - var v = ValueForKey (nskey); - if (v is NSNumber) - return (v as NSNumber).BoolValue; - return false; + using (var nskey = new NSString (key)) { + return ValueForKey (nskey) as T; } } + internal float GetFloat (string key) + { + return Get (key)?.FloatValue ?? default (float); + } + + internal int GetInt (string key) + { + return Get (key)?.Int32Value ?? default (int); + } + + internal nint GetNInt (string key) + { + return Get (key)?.NIntValue ?? default (nint); + } + + internal bool GetBool (string key) + { + return Get (key)?.BoolValue ?? default (bool); + } + internal void SetHandle (string key, IntPtr handle) { var nsname = NSString.CreateNative (key); @@ -237,31 +256,16 @@ internal IntPtr GetHandle (string key) return ret; } - - internal CIVector GetVector (string key) - { - return ValueForKey (key) as CIVector; - } - - internal CIColor GetColor (string key) - { - return ValueForKey (key) as CIColor; - } - - internal CIImage GetInputImage () + internal CGPoint GetPoint (string key) { - return ValueForKey (CIFilterInputKey.Image) as CIImage; + var v = Get (key); + return v != null ? new CGPoint (v.X, v.Y) : default (CGPoint); } - internal void SetInputImage (CIImage value) + internal CGRect GetRect (string key) { - SetValueForKey (value, CIFilterInputKey.Image); - } - - internal CIImage GetImage (string key) - { - using (var nsstr = new NSString (key)) - return ValueForKey (nsstr) as CIImage; + var v = Get (key); + return v != null ? new CGRect (v.X, v.Y, v.Z, v.W) : default (CGRect); } #if MONOMAC @@ -673,29 +677,32 @@ internal static CIFilter FromName (string filterName, IntPtr handle) } } +#if !XAMCORE_4_0 // not every CIFilter supports inputImage, i.e. // NSUnknownKeyException [ valueForUndefinedKey:]: this class is not key value coding-compliant for the key inputImage. // and those will crash (on devices) if the property is called - and that includes displaying it in the debugger + [Obsolete ("Use 'InputImage' instead. If not available then the filter does not support it.")] public CIImage Image { get { - return SupportsInputImage ? GetInputImage () : null; + return SupportsInputImage ? ValueForKey (CIFilterInputKey.Image) as CIImage : null; } set { if (!SupportsInputImage) throw new ArgumentException ("inputImage is not supported by this filter"); - SetInputImage (value); + SetValueForKey (value, CIFilterInputKey.Image); } } + bool? supportsInputImage; + bool SupportsInputImage { get { - foreach (var key in InputKeys) { - if (key == "inputImage") - return true; - } - return false; + if (!supportsInputImage.HasValue) + supportsInputImage = Array.IndexOf (InputKeys, "inputImage") >= 0; + return supportsInputImage.Value; } } +#endif } #if MONOMAC && !XAMCORE_3_0 diff --git a/src/ImageIO/CGImageSource.cs b/src/ImageIO/CGImageSource.cs index eb3cda6fe74b..a97d9a00fc4e 100644 --- a/src/ImageIO/CGImageSource.cs +++ b/src/ImageIO/CGImageSource.cs @@ -37,6 +37,7 @@ namespace ImageIO { +#if !COREBUILD // untyped enum -> CGImageSource.h public enum CGImageSourceStatus { Complete = 0, @@ -109,9 +110,11 @@ internal override NSMutableDictionary ToDictionary () return dict; } } - +#endif + public partial class CGImageSource : INativeObject, IDisposable { +#if !COREBUILD [DllImport (Constants.ImageIOLibrary, EntryPoint="CGImageSourceGetTypeID")] public extern static nint GetTypeID (); @@ -126,7 +129,7 @@ public static string [] TypeIdentifiers { return array; } } - +#endif internal IntPtr handle; // invoked by marshallers @@ -165,7 +168,8 @@ protected virtual void Dispose (bool disposing) handle = IntPtr.Zero; } } - + +#if !COREBUILD [DllImport (Constants.ImageIOLibrary)] extern static /* CGImageSourceRef __nullable */ IntPtr CGImageSourceCreateWithURL ( /* CFURLRef __nonnull */ IntPtr url, /* CFDictionaryRef __nullable */ IntPtr options); @@ -403,5 +407,6 @@ public nuint GetPrimaryImageIndex () { return CGImageSourceGetPrimaryImageIndex (handle); } +#endif } } diff --git a/src/coreimage.cs b/src/coreimage.cs index d5597a5c01b4..f828bc6e8085 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -353,6 +353,11 @@ interface CIContext { [Field ("kCIContextHighQualityDownsample", "+CoreImage")] NSString HighQualityDownsample { get; } + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Internal] + [Field ("kCIContextAllowLowPower")] + NSString AllowLowPower { get; } + #if MONOMAC [Mac(10,11)] @@ -386,6 +391,16 @@ interface CIContext { [Internal] [Field ("kCIContextCacheIntermediates", "+CoreImage")] NSString CacheIntermediates { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("contextWithMTLCommandQueue:")] + CIContext Create (IMTLCommandQueue commandQueue); + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("contextWithMTLCommandQueue:options:")] + CIContext Create (IMTLCommandQueue commandQueue, [NullAllowed] NSDictionary options); } [Category] @@ -487,6 +502,11 @@ interface CIContext_CIDepthBlurEffect [Export ("depthBlurEffectFilterForImage:disparityImage:portraitEffectsMatte:orientation:options:")] [return: NullAllowed] CIFilter GetDepthBlurEffectFilter (CIImage image, CIImage disparityImage, [NullAllowed] CIImage portraitEffectsMatte, CGImagePropertyOrientation orientation, [NullAllowed] NSDictionary options); + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Export ("depthBlurEffectFilterForImage:disparityImage:portraitEffectsMatte:hairSemanticSegmentation:orientation:options:")] + [return: NullAllowed] + CIFilter GetDepthBlurEffectFilter (CIImage image, CIImage disparityImage, [NullAllowed] CIImage portraitEffectsMatte, [NullAllowed] CIImage hairSemanticSegmentation, CGImagePropertyOrientation orientation, [NullAllowed] NSDictionary options); } [BaseType (typeof (NSObject))] @@ -736,6 +756,10 @@ interface CIRawFilterKeys { [Field ("kCIInputLinearSpaceFilter")] NSString LinearSpaceFilterKey { get; } + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIInputEnableEDRModeKey")] + NSString EnableEdrModeKey { get; } + [iOS (10,0)] [Field ("kCIOutputNativeSizeKey")] NSString OutputNativeSizeKey { get; } @@ -1141,13 +1165,10 @@ interface CIFilterCategory { NSString FilterGenerator { get; } } - interface ICIFilterConstructor {} - [iOS (9,0)] [Protocol] interface CIFilterConstructor { - // @required -(CIFilter * __nullable)filterWithName:(NSString * __nonnull)name; [Abstract] [Export ("filterWithName:")] [return: NullAllowed] @@ -1297,7 +1318,16 @@ interface CIImageInitializationOptions { bool AuxiliaryDisparity { get; set; } [TV (12, 0), iOS (12, 0), Mac (10, 14)] - bool AuxiliaryPortraitEffectsMatte { get; } + bool AuxiliaryPortraitEffectsMatte { get; set; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + bool AuxiliarySemanticSegmentationSkinMatte { get; set; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + bool AuxiliarySemanticSegmentationHairMatte { get; set; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + bool AuxiliarySemanticSegmentationTeethMatte { get; set; } } [Internal] @@ -1328,6 +1358,18 @@ interface CIImageInitializationOptionsKeys { [TV (12, 0), iOS (12, 0), Mac (10, 14)] [Field ("kCIImageAuxiliaryPortraitEffectsMatte")] NSString AuxiliaryPortraitEffectsMatteKey { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIImageAuxiliarySemanticSegmentationSkinMatte")] + NSString AuxiliarySemanticSegmentationSkinMatteKey { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIImageAuxiliarySemanticSegmentationHairMatte")] + NSString AuxiliarySemanticSegmentationHairMatteKey { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIImageAuxiliarySemanticSegmentationTeethMatte")] + NSString AuxiliarySemanticSegmentationTeethMatteKey { get; } } [BaseType (typeof (NSObject))] @@ -1343,9 +1385,20 @@ interface CIImage : NSSecureCoding, NSCopying { CIImage FromCGImage (CGImage image, [NullAllowed] NSDictionary d); [Static] - [Wrap ("FromCGImage (image, options == null ? null : options.Dictionary)")] + [Wrap ("FromCGImage (image, options?.Dictionary)")] CIImage FromCGImage (CGImage image, [NullAllowed] CIImageInitializationOptionsWithMetadata options); + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [EditorBrowsable (EditorBrowsableState.Advanced)] + [Static] + [Export ("imageWithCGImageSource:index:options:")] + CIImage FromCGImageSource (CGImageSource source, nuint index, [NullAllowed] NSDictionary options); + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Wrap ("FromCGImageSource (source, index, options?.Dictionary)")] + CIImage FromCGImageSource (CGImageSource source, nuint index, [NullAllowed] CIImageInitializationOptionsWithMetadata options); + #if MONOMAC [Deprecated (PlatformName.MacOSX, 10, 11)] [Static] @@ -1383,7 +1436,7 @@ interface CIImage : NSSecureCoding, NSCopying { CIImage FromUrl (NSUrl url, [NullAllowed] NSDictionary d); [Static] - [Wrap ("FromUrl (url, options == null ? null : options.Dictionary)")] + [Wrap ("FromUrl (url, options?.Dictionary)")] CIImage FromUrl (NSUrl url, [NullAllowed] CIImageInitializationOptions options); [Static] @@ -1396,7 +1449,7 @@ interface CIImage : NSSecureCoding, NSCopying { CIImage FromData (NSData data, [NullAllowed] NSDictionary d); [Static] - [Wrap ("FromData (data, options == null ? null : options.Dictionary)")] + [Wrap ("FromData (data, options?.Dictionary)")] CIImage FromData (NSData data, [NullAllowed] CIImageInitializationOptionsWithMetadata options); [Static] @@ -1426,7 +1479,7 @@ interface CIImage : NSSecureCoding, NSCopying { #endif [Static][iOS(9,0)] - [Wrap ("FromImageBuffer (imageBuffer, options == null ? null : options.Dictionary)")] + [Wrap ("FromImageBuffer (imageBuffer, options?.Dictionary)")] CIImage FromImageBuffer (CVImageBuffer imageBuffer, CIImageInitializationOptions options); #if !MONOMAC @@ -1440,7 +1493,7 @@ interface CIImage : NSSecureCoding, NSCopying { CIImage FromImageBuffer (CVPixelBuffer buffer, [NullAllowed] NSDictionary dict); [Static] - [Wrap ("FromImageBuffer (buffer, options == null ? null : options.Dictionary)")] + [Wrap ("FromImageBuffer (buffer, options?.Dictionary)")] CIImage FromImageBuffer (CVPixelBuffer buffer, [NullAllowed] CIImageInitializationOptions options); #endif [iOS (11,0)] @@ -1462,7 +1515,7 @@ interface CIImage : NSSecureCoding, NSCopying { [TV (11,0)] [Mac (10,13)] [Static] - [Wrap ("FromSurface (surface, options == null ? null : options.Dictionary)")] + [Wrap ("FromSurface (surface, options?.Dictionary)")] CIImage FromSurface (IOSurface.IOSurface surface, CIImageInitializationOptions options); [Static] @@ -1480,9 +1533,18 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("initWithCGImage:options:")] IntPtr Constructor (CGImage image, [NullAllowed] NSDictionary d); - [Wrap ("this (image, options == null ? null : options.Dictionary)")] + [Wrap ("this (image, options?.Dictionary)")] IntPtr Constructor (CGImage image, [NullAllowed] CIImageInitializationOptionsWithMetadata options); + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [EditorBrowsable (EditorBrowsableState.Advanced)] + [Export ("initWithCGImageSource:index:options:")] + IntPtr Constructor (CGImageSource source, nuint index, [NullAllowed] NSDictionary options); + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Wrap ("this (source, index, options?.Dictionary)")] + IntPtr Constructor (CGImageSource source, nuint index, CIImageInitializationOptionsWithMetadata options); + #if MONOMAC [Deprecated (PlatformName.MacOSX, 10, 11, message: "Use 'CIImage (CGImage)' instead.")] [Export ("initWithCGLayer:")] @@ -1493,7 +1555,7 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("initWithCGLayer:options:")] IntPtr Constructor (CGLayer layer, [NullAllowed] NSDictionary d); - [Wrap ("this (layer, options == null ? null : options.Dictionary)")] + [Wrap ("this (layer, options?.Dictionary)")] IntPtr Constructor (CGLayer layer, [NullAllowed] CIImageInitializationOptions options); #endif @@ -1503,7 +1565,7 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("initWithData:options:")] IntPtr Constructor (NSData data, [NullAllowed] NSDictionary d); - [Wrap ("this (data, options == null ? null : options.Dictionary)")] + [Wrap ("this (data, options?.Dictionary)")] IntPtr Constructor (NSData data, [NullAllowed] CIImageInitializationOptionsWithMetadata options); [Export ("initWithBitmapData:bytesPerRow:size:format:colorSpace:")] @@ -1520,7 +1582,7 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("initWithContentsOfURL:options:")] IntPtr Constructor (NSUrl url, [NullAllowed] NSDictionary d); - [Wrap ("this (url, options == null ? null : options.Dictionary)")] + [Wrap ("this (url, options?.Dictionary)")] IntPtr Constructor (NSUrl url, [NullAllowed] CIImageInitializationOptions options); [iOS (11,0)] // IOSurface was not exposed before Xcode 9 @@ -1538,7 +1600,7 @@ interface CIImage : NSSecureCoding, NSCopying { [iOS (11,0)] // IOSurface was not exposed before Xcode 9 [TV (11,0)] [Mac (10,13)] - [Wrap ("this (surface, options == null ? null : options.Dictionary)")] + [Wrap ("this (surface, options?.Dictionary)")] IntPtr Constructor (IOSurface.IOSurface surface, [NullAllowed] CIImageInitializationOptions options); [iOS(9,0)] @@ -1563,7 +1625,7 @@ interface CIImage : NSSecureCoding, NSCopying { #endif [iOS(9,0)] - [Wrap ("this (imageBuffer, options == null ? null : options.Dictionary)")] + [Wrap ("this (imageBuffer, options?.Dictionary)")] IntPtr Constructor (CVImageBuffer imageBuffer, [NullAllowed] CIImageInitializationOptions options); [Mac (10,11)] @@ -1575,7 +1637,7 @@ interface CIImage : NSSecureCoding, NSCopying { IntPtr Constructor (CVPixelBuffer buffer, [NullAllowed] NSDictionary dict); [Mac (10,11)] - [Wrap ("this (buffer, options == null ? null : options.Dictionary)")] + [Wrap ("this (buffer, options?.Dictionary)")] IntPtr Constructor (CVPixelBuffer buffer, [NullAllowed] CIImageInitializationOptions options); [Export ("initWithColor:")] @@ -1601,6 +1663,10 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("imageByApplyingTransform:")] CIImage ImageByApplyingTransform (CGAffineTransform matrix); + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Export ("imageByApplyingTransform:highQualityDownsample:")] + CIImage ImageByApplyingTransform (CGAffineTransform matrix, bool highQualityDownsample); + [Export ("imageByCroppingToRect:")] CIImage ImageByCroppingToRect (CGRect r); @@ -1729,7 +1795,7 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("initWithImage:options:")] IntPtr Constructor (UIImage image, [NullAllowed] NSDictionary options); - [Wrap ("this (image, options == null ? null : options.Dictionary)")] + [Wrap ("this (image, options?.Dictionary)")] IntPtr Constructor (UIImage image, [NullAllowed] CIImageInitializationOptions options); #endif @@ -1927,6 +1993,32 @@ interface CIImage : NSSecureCoding, NSCopying { [return: NullAllowed] CIImage FromPortraitEffectsMatte (AVPortraitEffectsMatte matte); + // CIImage_AVSemanticSegmentationMatte + + [TV (13,0), iOS (13,0), Mac (10,15)] + [NullAllowed, Export ("semanticSegmentationMatte")] + AVSemanticSegmentationMatte SemanticSegmentationMatte { get; } + + [TV (13,0), iOS (13,0), Mac (10,15)] + [Export ("initWithSemanticSegmentationMatte:options:")] + IntPtr Constructor (AVSemanticSegmentationMatte matte, [NullAllowed] NSDictionary options); + + [TV (13,0), iOS (13,0), Mac (10,15)] + [Export ("initWithSemanticSegmentationMatte:")] + IntPtr Constructor (AVSemanticSegmentationMatte matte); + + [TV (13,0), iOS (13,0), Mac (10,15)] + [Static] + [Export ("imageWithSemanticSegmentationMatte:options:")] + [return: NullAllowed] + CIImage FromSemanticSegmentationMatte (AVSemanticSegmentationMatte matte, [NullAllowed] NSDictionary options); + + [TV (13,0), iOS (13,0), Mac (10,15)] + [Static] + [Export ("imageWithSemanticSegmentationMatte:")] + [return: NullAllowed] + CIImage FromSemanticSegmentationMatte (AVSemanticSegmentationMatte matte); + // CIImage_AVDepthData category [TV (11, 0), iOS (11, 0), Mac (10,13)] @@ -1948,6 +2040,58 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("imageWithDepthData:")] [return: NullAllowed] CIImage FromDepthData (AVDepthData data); + + // colors + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("blackImage", ArgumentSemantic.Strong)] + CIImage BlackImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("whiteImage", ArgumentSemantic.Strong)] + CIImage WhiteImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("grayImage", ArgumentSemantic.Strong)] + CIImage GrayImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("redImage", ArgumentSemantic.Strong)] + CIImage RedImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("greenImage", ArgumentSemantic.Strong)] + CIImage GreenImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("blueImage", ArgumentSemantic.Strong)] + CIImage BlueImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("cyanImage", ArgumentSemantic.Strong)] + CIImage CyanImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("magentaImage", ArgumentSemantic.Strong)] + CIImage MagentaImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("yellowImage", ArgumentSemantic.Strong)] + CIImage YellowImage { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Static] + [Export ("clearImage", ArgumentSemantic.Strong)] + CIImage ClearImage { get; } } interface ICIImageProcessorInput {} @@ -2205,6 +2349,7 @@ interface CIImageAccumulator { #if MONOMAC [BaseType (typeof (NSObject))] interface CIPlugIn { + [Deprecated (PlatformName.MacOSX, 10,15, message: "Use 'LoadNonExecutablePlugIns' for non-executable plugins instead.")] [Static] [Export ("loadAllPlugIns")] void LoadAllPlugIns (); @@ -2213,6 +2358,11 @@ interface CIPlugIn { [Export ("loadNonExecutablePlugIns")] void LoadNonExecutablePlugIns (); + [Mac (10,15)] + [Static] + [Export ("loadNonExecutablePlugIn:")] + void LoadNonExecutablePlugIn (NSUrl url); + [Deprecated (PlatformName.MacOSX, 10, 7)] [Static] [Export ("loadPlugIn:allowNonExecutable:")] @@ -2645,22 +2795,13 @@ interface CIImageProcessorKernel { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CIAccordionFoldTransition { + interface CIAccordionFoldTransition : CIAccordionFoldTransitionProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'FoldCount' instead.")] [CoreImageFilterProperty ("inputNumberOfFolds")] int NumberOfFolds { get; set; } - - [CoreImageFilterProperty ("inputTime")] - float Time { get; set; } - - [CoreImageFilterProperty ("inputFoldShadowAmount")] - float FoldShadowAmount { get; set; } - - [CoreImageFilterProperty ("inputBottomHeight")] - float BottomHeight { get; set; } - - [CoreImageFilterProperty ("inputTargetImage")] - CIImage TargetImage { get; set; } +#endif } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -2668,6 +2809,9 @@ interface CIAccordionFoldTransition { [BaseType (typeof (CIFilter))] interface CICompositingFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputBackgroundImage")] CIImage BackgroundImage { get; set; } } @@ -2680,32 +2824,49 @@ interface CIAdditionCompositing { [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic [Abstract] [BaseType (typeof (CIFilter))] - interface CIAffineFilter { + interface CIAffineFilter : CIFilterProtocol { +#if !XAMCORE_4_0 [NoMac] + [Obsolete ("Not every subclass expose this property.")] [CoreImageFilterProperty ("inputTransform")] CGAffineTransform Transform { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CIAffineFilter))] - interface CIAffineClamp { + interface CIAffineClamp : CIAffineClampProtocol { } [CoreImageFilter] [BaseType (typeof (CIAffineFilter))] - interface CIAffineTile { + interface CIAffineTile : CIAffineTileProtocol { } [CoreImageFilter] [BaseType (typeof (CIAffineFilter))] interface CIAffineTransform { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + + [CoreImageFilterProperty ("inputTransform")] + CGAffineTransform Transform { get; set; } } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIReductionFilter))] interface CIAreaAverage { + + [CoreImageFilterProperty ("outputImageNonMPS")] + CIImage OutputImageNonMps { get; } + +#if MONOMAC + [CoreImageFilterProperty ("outputImageMPS")] + CIImage OutputImageMps { get; } +#endif } [CoreImageFilter] @@ -2713,6 +2874,9 @@ interface CIAreaAverage { [BaseType (typeof (CIFilter))] interface CIAreaHistogram { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputCount")] float Count { get; set; } @@ -2721,6 +2885,17 @@ interface CIAreaHistogram { [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } + + [CoreImageFilterProperty ("outputImageNonMPS")] + CIImage OutputImageNonMps { get; } + +#if MONOMAC + [CoreImageFilterProperty ("outputImageMPS")] + CIImage OutputImageMps { get; } +#endif + + [CoreImageFilterProperty ("outputData")] + NSData OutputData { get; } } [CoreImageFilter] @@ -2728,6 +2903,10 @@ interface CIAreaHistogram { [iOS (9,0)] [BaseType (typeof (CIFilter))] interface CIReductionFilter { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } } @@ -2768,28 +2947,26 @@ interface CICodeGenerator { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CICodeGenerator))] - interface CIAztecCodeGenerator { + interface CIAztecCodeGenerator : CIAztecCodeGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCompactStyle' instead.")] [CoreImageFilterProperty ("inputCompactStyle")] bool CompactStyle { get; set; } + [Obsolete ("Use 'InputLayers' instead.")] [CoreImageFilterProperty ("inputLayers")] int Layers { get; set; } +#endif - [CoreImageFilterProperty ("inputCorrectionLevel")] - float CorrectionLevel { get; set; } + [CoreImageFilterProperty ("outputCGImage")] + CGImage OutputCGImage { get; } } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic [Abstract] [BaseType (typeof (CIFilter))] - interface CITransitionFilter { - - [CoreImageFilterProperty ("inputTime")] - float Time { get; set; } - - [CoreImageFilterProperty ("inputTargetImage")] - CIImage TargetImage { get; set; } + interface CITransitionFilter : CITransitionFilterProtocol { } [CoreImageFilter] @@ -2815,31 +2992,25 @@ interface CIBlendWithAlphaMask { [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIBlendFilter))] - interface CIBlendWithMask { + interface CIBlendWithMask : CIBlendWithMaskProtocol { +#if !XAMCORE_4_0 // renamed for API compatibility + [Obsolete ("Use 'MaskImage' instead.")] [CoreImageFilterProperty ("inputMaskImage")] CIImage Mask { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIBloom { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIBloom : CIBloomProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIBoxBlur { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIBoxBlur : CIBoxBlurProtocol { } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -2847,6 +3018,9 @@ interface CIBoxBlur { [BaseType (typeof (CIFilter))] interface CIDistortionFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRadius")] float Radius { get; set; } @@ -2875,22 +3049,13 @@ interface CIBumpDistortionLinear { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CICheckerboardGenerator { - - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - - [CoreImageFilterProperty ("inputSharpness")] - float Sharpness { get; set; } + interface CICheckerboardGenerator : CICheckerboardGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } +#endif } [CoreImageFilter] @@ -2906,8 +3071,14 @@ interface CIScreenFilter { [CoreImageFilterProperty ("inputSharpness")] float Sharpness { get; set; } +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif + + [CoreImageFilterProperty ("inputCenter")] + CGPoint InputCenter { get; set; } [CoreImageFilterProperty ("inputWidth")] float Width { get; set; } @@ -2915,7 +3086,7 @@ interface CIScreenFilter { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CICircularScreen { + interface CICircularScreen : CICircularScreenProtocol { } [CoreImageFilter] @@ -2923,6 +3094,9 @@ interface CICircularScreen { [BaseType (typeof (CIFilter))] interface CICircularWrap { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRadius")] float Radius { get; set; } @@ -2936,37 +3110,28 @@ interface CICircularWrap { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter), Name="CICMYKHalftone")] - interface CICmykHalftone { - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - - // renamed for API compatibility - [CoreImageFilterProperty ("inputUCR")] - float UnderColorRemoval { get; set; } - - // renamed for API compatibility - [CoreImageFilterProperty ("inputGCR")] - float GrayComponentReplacement { get; set; } + interface CICmykHalftone : CICmykHalftoneProtocol { +#if !XAMCORE_4_0 // renamed for API compatibility + [Obsolete ("Use 'Sharpness' instead.")] [CoreImageFilterProperty ("inputSharpness")] float InputSharpness { get; set; } - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } - + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif } [CoreImageFilter] [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CICodeGenerator))] - interface CICode128BarcodeGenerator { + interface CICode128BarcodeGenerator : CICode128BarcodeGeneratorProtocol { - [CoreImageFilterProperty ("inputQuietSpace")] - float QuietSpace { get; set; } + [CoreImageFilterProperty ("outputCGImage")] + CIImage OutputCGImage { get; } } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -2974,6 +3139,9 @@ interface CICode128BarcodeGenerator { [BaseType (typeof (CIFilter))] interface CIBlendFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputBackgroundImage")] CIImage BackgroundImage { get; set; } } @@ -2992,66 +3160,43 @@ interface CIColorBurnBlendMode { [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIColorClamp { + interface CIColorClamp : CIColorClampProtocol { +#if !XAMCORE_4_0 // here the prefix was not removed, edited to keep API compatibility + [Obsolete ("Use 'MinComponents' instead.")] [CoreImageFilterProperty ("inputMinComponents")] CIVector InputMinComponents { get; set; } // here the prefix was not removed, edited to keep API compatibility + [Obsolete ("Use 'MaxComponents' instead.")] [CoreImageFilterProperty ("inputMaxComponents")] CIVector InputMaxComponents { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorControls { - - [CoreImageFilterProperty ("inputContrast")] - float Contrast { get; set; } - - [CoreImageFilterProperty ("inputBrightness")] - float Brightness { get; set; } - - [CoreImageFilterProperty ("inputSaturation")] - float Saturation { get; set; } + interface CIColorControls : CIColorControlsProtocol { } [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [iOS (7,0)] // not part of the attributes dictionary -> [NoiOS] is generated [Mac (10,9)] // not part of the attributes dictionary -> [NoMac] is generated [BaseType (typeof (CIFilter))] - interface CIColorCrossPolynomial { - - [CoreImageFilterProperty ("inputRedCoefficients")] - CIVector RedCoefficients { get; set; } - - [CoreImageFilterProperty ("inputBlueCoefficients")] - CIVector BlueCoefficients { get; set; } - - [CoreImageFilterProperty ("inputGreenCoefficients")] - CIVector GreenCoefficients { get; set; } + interface CIColorCrossPolynomial : CIColorCrossPolynomialProtocol { } [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIFilter))] - interface CIColorCube { - - [CoreImageFilterProperty ("inputCubeDimension")] - float CubeDimension { get; set; } - - [CoreImageFilterProperty ("inputCubeData")] - NSData CubeData { get; set; } + interface CIColorCube : CIColorCubeProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIColorCube))] - interface CIColorCubeWithColorSpace { - - [CoreImageFilterProperty ("inputColorSpace")] - CGColorSpace ColorSpace { get; set; } + interface CIColorCubeWithColorSpace : CIColorCubeWithColorSpaceProtocol { } [CoreImageFilter] @@ -3061,64 +3206,34 @@ interface CIColorDodgeBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorInvert { + interface CIColorInvert : CIColorInvertProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMap { - - [CoreImageFilterProperty ("inputGradientImage")] - CIImage GradientImage { get; set; } + interface CIColorMap : CIColorMapProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMatrix { - - [CoreImageFilterProperty ("inputAVector")] - CIVector AVector { get; set; } - - [CoreImageFilterProperty ("inputBiasVector")] - CIVector BiasVector { get; set; } - - [CoreImageFilterProperty ("inputBVector")] - CIVector BVector { get; set; } - - [CoreImageFilterProperty ("inputGVector")] - CIVector GVector { get; set; } - - [CoreImageFilterProperty ("inputRVector")] - CIVector RVector { get; set; } + interface CIColorMatrix : CIColorMatrixProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMonochrome { - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIColorMonochrome : CIColorMonochromeProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIColorCrossPolynomial))] - interface CIColorPolynomial { - - [CoreImageFilterProperty ("inputAlphaCoefficients")] - CIVector AlphaCoefficients { get; set; } + interface CIColorPolynomial : CIColorPolynomialProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorPosterize { - - [CoreImageFilterProperty ("inputLevels")] - float Levels { get; set; } + interface CIColorPosterize : CIColorPosterizeProtocol { } [CoreImageFilter] @@ -3131,7 +3246,7 @@ interface CIColumnAverage { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIComicEffect { + interface CIComicEffect : CIComicEffectProtocol { } [CoreImageFilter] @@ -3147,6 +3262,9 @@ interface CIConstantColorGenerator { [BaseType (typeof (CIFilter))] interface CIConvolutionCore { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputWeights")] CIVector Weights { get; set; } @@ -3213,6 +3331,9 @@ interface CICopyMachineTransition { [BaseType (typeof (CIFilter))] interface CICrop { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRectangle")] CIVector Rectangle { get; set; } } @@ -3220,13 +3341,13 @@ interface CICrop { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CICrystallize { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CICrystallize : CICrystallizeProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif } [CoreImageFilter] @@ -3242,28 +3363,22 @@ interface CIDifferenceBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIDiscBlur { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIDiscBlur : CIDiscBlurProtocol { } [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIDisintegrateWithMaskTransition { - - [CoreImageFilterProperty ("inputShadowDensity")] - float ShadowDensity { get; set; } + interface CIDisintegrateWithMaskTransition : CIDisintegrateWithMaskTransitionProtocol { - // renamed for API compatibility +#if !XAMCORE_4_0 + [Obsolete ("Use 'MaskImage' instead.")] [CoreImageFilterProperty ("inputMaskImage")] CIImage Mask { get; set; } - [CoreImageFilterProperty ("inputShadowRadius")] - float ShadowRadius { get; set; } - + [Obsolete ("Use 'InputShadowOffset' instead.")] [CoreImageFilterProperty ("inputShadowOffset")] CIVector ShadowOffset { get; set; } +#endif } [CoreImageFilter] @@ -3271,6 +3386,9 @@ interface CIDisintegrateWithMaskTransition { [BaseType (typeof (CIFilter))] interface CIDisplacementDistortion { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputDisplacementImage")] CIImage DisplacementImage { get; set; } @@ -3292,9 +3410,7 @@ interface CIDivideBlendMode { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CIDotScreen { - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIDotScreen : CIDotScreenProtocol { } [CoreImageFilter] @@ -3302,6 +3418,9 @@ interface CIDotScreen { [BaseType (typeof (CIFilter))] interface CIDroste { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputStrands")] float Strands { get; set; } @@ -3324,19 +3443,13 @@ interface CIDroste { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIEdges { - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIEdges : CIEdgesProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIEdgeWork { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIEdgeWork : CIEdgeWorkProtocol { } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -3347,8 +3460,14 @@ interface CITileFilter { [CoreImageFilterProperty ("inputAngle")] float Angle { get; set; } +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif + + [CoreImageFilterProperty ("inputCenter")] + CGPoint InputCenter { get; set; } [CoreImageFilterProperty ("inputWidth")] float Width { get; set; } @@ -3356,7 +3475,7 @@ interface CITileFilter { [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIEightfoldReflectedTile { + interface CIEightfoldReflectedTile : CIEightfoldReflectedTileProtocol { } [CoreImageFilter] @@ -3366,103 +3485,73 @@ interface CIExclusionBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIExposureAdjust { - - [CoreImageFilterProperty ("inputEV")] - float EV { get; set; } + interface CIExposureAdjust : CIExposureAdjustProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIFalseColor { - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } + interface CIFalseColor : CIFalseColorProtocol { } [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIFlashTransition { + interface CIFlashTransition : CIFlashTransitionProtocol { +#if !XAMCORE_4_0 // for some reason we prefixed all Striation* with Max - API compatibility + [Obsolete ("Use 'StriationContrast' instead.")] [CoreImageFilterProperty ("inputStriationContrast")] float MaxStriationContrast { get; set; } - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } - - [CoreImageFilterProperty ("inputFadeThreshold")] - float FadeThreshold { get; set; } - - [CoreImageFilterProperty ("inputMaxStriationRadius")] - float MaxStriationRadius { get; set; } - + [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } // for some reason we prefixed all Striation* with Max - API compatibility + [Obsolete ("Use 'StriationStrength' instead.")] [CoreImageFilterProperty ("inputStriationStrength")] float MaxStriationStrength { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldReflectedTile { - - [CoreImageFilterProperty ("inputAcuteAngle")] - float AcuteAngle { get; set; } + interface CIFourfoldReflectedTile : CIFourfoldReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldRotatedTile { + interface CIFourfoldRotatedTile : CIFourfoldRotatedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldTranslatedTile { - - [CoreImageFilterProperty ("inputAcuteAngle")] - float AcuteAngle { get; set; } + interface CIFourfoldTranslatedTile : CIFourfoldTranslatedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGammaAdjust { - - [CoreImageFilterProperty ("inputPower")] - float Power { get; set; } + interface CIGammaAdjust : CIGammaAdjustProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGaussianBlur { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIGaussianBlur : CIGaussianBlurProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGaussianGradient { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIGaussianGradient : CIGaussianGradientProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } +#endif } [CoreImageFilter] @@ -3470,6 +3559,9 @@ interface CIGaussianGradient { [BaseType (typeof (CIFilter))] interface CIGlassDistortion { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } @@ -3485,6 +3577,9 @@ interface CIGlassDistortion { [BaseType (typeof (CIFilter))] interface CIGlassLozenge { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputPoint1")] CIVector Point1 { get; set; } @@ -3500,18 +3595,12 @@ interface CIGlassLozenge { [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIGlideReflectedTile { + interface CIGlideReflectedTile : CIGlideReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGloom { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIGloom : CIGloomProtocol { } [CoreImageFilter] @@ -3521,44 +3610,30 @@ interface CIHardLightBlendMode { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CIHatchedScreen { - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIHatchedScreen : CIHatchedScreenProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIHeightFieldFromMask { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - } + interface CIHeightFieldFromMask : CIHeightFieldFromMaskProtocol { + } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIHexagonalPixellate { + interface CIHexagonalPixellate : CIHexagonalPixellateProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIHighlightShadowAdjust { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputHighlightAmount")] - float HighlightAmount { get; set; } - - [CoreImageFilterProperty ("inputShadowAmount")] - float ShadowAmount { get; set; } + interface CIHighlightShadowAdjust : CIHighlightShadowAdjustProtocol { } [CoreImageFilter] @@ -3567,6 +3642,9 @@ interface CIHighlightShadowAdjust { [BaseType (typeof (CIFilter))] interface CIHistogramDisplayFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputHeight")] float Height { get; set; } @@ -3584,10 +3662,7 @@ interface CIHoleDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIHueAdjust { - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIHueAdjust : CIHueAdjustProtocol { } [CoreImageFilter] @@ -3598,57 +3673,34 @@ interface CIHueBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIKaleidoscope { - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIKaleidoscope : CIKaleidoscopeProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCount' instead.")] [CoreImageFilterProperty ("inputCount")] float Count { get; set; } + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CILanczosScaleTransform { - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } - - [CoreImageFilterProperty ("inputAspectRatio")] - float AspectRatio { get; set; } + interface CILanczosScaleTransform : CILanczosScaleTransformProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CILenticularHaloGenerator { - - [CoreImageFilterProperty ("inputStriationContrast")] - float StriationContrast { get; set; } - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } - - [CoreImageFilterProperty ("inputTime")] - float Time { get; set; } - - [CoreImageFilterProperty ("inputHaloRadius")] - float HaloRadius { get; set; } + interface CILenticularHaloGenerator : CILenticularHaloGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputHaloOverlap")] - float HaloOverlap { get; set; } - - [CoreImageFilterProperty ("inputStriationStrength")] - float StriationStrength { get; set; } - - [CoreImageFilterProperty ("inputHaloWidth")] - float HaloWidth { get; set; } +#endif } [CoreImageFilter] @@ -3661,6 +3713,9 @@ interface CILightenBlendMode { [BaseType (typeof (CIFilter))] interface CILightTunnel { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRotation")] float Rotation { get; set; } @@ -3687,54 +3742,35 @@ interface CILinearDodgeBlendMode { [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIFilter))] - interface CILinearGradient { + interface CILinearGradient : CILinearGradientProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputPoint1' instead.")] [CoreImageFilterProperty ("inputPoint1")] CIVector Point1 { get; set; } + [Obsolete ("Use 'InputPoint0' instead.")] [CoreImageFilterProperty ("inputPoint0")] CIVector Point0 { get; set; } - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } +#endif } [CoreImageFilter] [iOS (7,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CILinearToSRGBToneCurve { + interface CILinearToSRGBToneCurve : CILinearToSrgbToneCurveProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CILineOverlay { - - [CoreImageFilterProperty ("inputNRNoiseLevel")] - float NRNoiseLevel { get; set; } - - [CoreImageFilterProperty ("inputNRSharpness")] - float NRSharpness { get; set; } - - [CoreImageFilterProperty ("inputEdgeIntensity")] - float EdgeIntensity { get; set; } - - [CoreImageFilterProperty ("inputContrast")] - float Contrast { get; set; } - - [CoreImageFilterProperty ("inputThreshold")] - float Threshold { get; set; } + interface CILineOverlay : CILineOverlayProtocol { } [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CILineScreen { - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CILineScreen : CILineScreenProtocol { } [CoreImageFilter] @@ -3744,12 +3780,12 @@ interface CILuminosityBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaskToAlpha { + interface CIMaskToAlpha : CIMaskToAlphaProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaximumComponent { + interface CIMaximumComponent : CIMaximumComponentProtocol { } [CoreImageFilter] @@ -3760,12 +3796,12 @@ interface CIMaximumCompositing { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIMedianFilter { + interface CIMedianFilter : CIMedianProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMinimumComponent { + interface CIMinimumComponent : CIMinimumComponentProtocol { } [CoreImageFilter] @@ -3775,28 +3811,18 @@ interface CIMinimumCompositing { [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIModTransition { - - [CoreImageFilterProperty ("inputCompression")] - float Compression { get; set; } - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIModTransition : CIModTransitionProtocol { +#if !XAMCORE_4_0 [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif } [CoreImageFilter] [iOS (8,3)] [BaseType (typeof (CILinearBlur))] - interface CIMotionBlur { - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIMotionBlur : CIMotionBlurProtocol { } [CoreImageFilter] @@ -3812,22 +3838,13 @@ interface CIMultiplyCompositing { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CINoiseReduction { - - [CoreImageFilterProperty ("inputSharpness")] - float Sharpness { get; set; } - - [CoreImageFilterProperty ("inputNoiseLevel")] - float NoiseLevel { get; set; } + interface CINoiseReduction : CINoiseReductionProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITileFilter))] - interface CIOpTile { - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } + interface CIOpTile : CIOpTileProtocol { } [CoreImageFilter] @@ -3838,155 +3855,139 @@ interface CIOverlayBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITransitionFilter))] - interface CIPageCurlTransition { - - [CoreImageFilterProperty ("inputShadingImage")] - CIImage ShadingImage { get; set; } - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIPageCurlTransition : CIPageCurlTransitionProtocol { +#if !XAMCORE_4_0 [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } - - [CoreImageFilterProperty ("inputBacksideImage")] - CIImage BacksideImage { get; set; } +#endif } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIPageCurlWithShadowTransition { - - [CoreImageFilterProperty ("inputShadowSize")] - float ShadowSize { get; set; } + interface CIPageCurlWithShadowTransition : CIPageCurlWithShadowTransitionProtocol { +#if !XAMCORE_4_0 // prefixed for API compatibility + [Obsolete ("Use 'Time' instead.")] [CoreImageFilterProperty ("inputTime")] float InputTime { get; set; } - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - + [Obsolete ("Use 'InputShadowExtent' instead.")] [CoreImageFilterProperty ("inputShadowExtent")] CIVector ShadowExtent { get; set; } - [CoreImageFilterProperty ("inputShadowAmount")] - float ShadowAmount { get; set; } - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } - + [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } - - [CoreImageFilterProperty ("inputTargetImage")] - CIImage TargetImage { get; set; } - - [CoreImageFilterProperty ("inputBacksideImage")] - CIImage BacksideImage { get; set; } +#endif } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITileFilter))] - interface CIParallelogramTile { - - [CoreImageFilterProperty ("inputAcuteAngle")] - float AcuteAngle { get; set; } + interface CIParallelogramTile : CIParallelogramTileProtocol { } [CoreImageFilter] [iOS (9,0)] [Mac (10,11)] [BaseType (typeof (CICodeGenerator), Name="CIPDF417BarcodeGenerator")] - interface CIPdf417BarcodeGenerator { - + interface CIPdf417BarcodeGenerator : CIPdf417BarcodeGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCorrectionLevel' instead.")] [CoreImageFilterProperty ("inputCorrectionLevel")] int CorrectionLevel { get; set; } - [CoreImageFilterProperty ("inputMinHeight")] - float MinHeight { get; set; } - + [Obsolete ("Use 'InputAlwaysSpecifyCompaction' instead.")] [CoreImageFilterProperty ("inputAlwaysSpecifyCompaction")] bool AlwaysSpecifyCompaction { get; set; } - [CoreImageFilterProperty ("inputPreferredAspectRatio")] - float PreferredAspectRatio { get; set; } - + [Obsolete ("Use 'InputCompactStyle' instead.")] [CoreImageFilterProperty ("inputCompactStyle")] bool CompactStyle { get; set; } - [CoreImageFilterProperty ("inputMaxWidth")] - float MaxWidth { get; set; } - + [Obsolete ("Use 'InputCompactStyle' instead.")] [CoreImageFilterProperty ("inputDataColumns")] int DataColumns { get; set; } + [Obsolete ("Use 'InputCompactionMode' instead.")] [CoreImageFilterProperty ("inputCompactionMode")] int CompactionMode { get; set; } - [CoreImageFilterProperty ("inputMinWidth")] - float MinWidth { get; set; } - - [CoreImageFilterProperty ("inputMaxHeight")] - float MaxHeight { get; set; } - + [Obsolete ("Use 'InputRows' instead.")] [CoreImageFilterProperty ("inputRows")] int Rows { get; set; } +#endif + + [CoreImageFilterProperty ("outputCGImage")] + CGImage OutputCGImage { get; } } [CoreImageFilter] [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CIPerspectiveTransform))] - interface CIPerspectiveCorrection { + interface CIPerspectiveCorrection : CIPerspectiveCorrectionProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIPerspectiveTile { - + interface CIPerspectiveTile : CIPerspectiveTileProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputBottomLeft' instead.")] [CoreImageFilterProperty ("inputBottomLeft")] CIVector BottomLeft { get; set; } + [Obsolete ("Use 'InputTopRight' instead.")] [CoreImageFilterProperty ("inputTopRight")] CIVector TopRight { get; set; } + [Obsolete ("Use 'InputTopLeft' instead.")] [CoreImageFilterProperty ("inputTopLeft")] CIVector TopLeft { get; set; } + [Obsolete ("Use 'InputBottomRight' instead.")] [CoreImageFilterProperty ("inputBottomRight")] CIVector BottomRight { get; set; } +#endif } [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIFilter))] - interface CIPerspectiveTransform { - + interface CIPerspectiveTransform : CIPerspectiveTransformProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputBottomLeft' instead.")] [CoreImageFilterProperty ("inputBottomLeft")] CIVector BottomLeft { get; set; } + [Obsolete ("Use 'InputTopRight' instead.")] [CoreImageFilterProperty ("inputTopRight")] CIVector TopRight { get; set; } + [Obsolete ("Use 'InputTopLeft' instead.")] [CoreImageFilterProperty ("inputTopLeft")] CIVector TopLeft { get; set; } + [Obsolete ("Use 'InputBottomRight' instead.")] [CoreImageFilterProperty ("inputBottomRight")] CIVector BottomRight { get; set; } +#endif + + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] [Mac (10,11)] [BaseType (typeof (CIPerspectiveTransform))] - interface CIPerspectiveTransformWithExtent { - + interface CIPerspectiveTransformWithExtent : CIPerspectiveTransformWithExtentProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } +#endif } [CoreImageFilter (StringCtorVisibility = MethodAttributes.Public)] @@ -3994,7 +3995,7 @@ interface CIPerspectiveTransformWithExtent { [Mac (10,9)] [Abstract] [BaseType (typeof (CIFilter))] - interface CIPhotoEffect { + interface CIPhotoEffect : CIPhotoEffectProtocol { } [CoreImageFilter] @@ -4070,81 +4071,64 @@ interface CIPinLightBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIPixellate { - + interface CIPixellate : CIPixellateProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } +#endif } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIPointillize { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - + interface CIPointillize : CIPointillizeProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CICodeGenerator))] - interface CIQRCodeGenerator { + interface CIQRCodeGenerator : CIQRCodeGeneratorProtocol { - [CoreImageFilterProperty ("inputCorrectionLevel")] - string CorrectionLevel { get; set; } + [CoreImageFilterProperty ("outputCGImage")] + CGImage OutputCGImage { get; } } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIRadialGradient { - - [CoreImageFilterProperty ("inputRadius0")] - float Radius0 { get; set; } - - [CoreImageFilterProperty ("inputRadius1")] - float Radius1 { get; set; } + interface CIRadialGradient : CIRadialGradientProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIRandomGenerator { + interface CIRandomGenerator : CIRandomGeneratorProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITransitionFilter))] - interface CIRippleTransition { - - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - - [CoreImageFilterProperty ("inputShadingImage")] - CIImage ShadingImage { get; set; } - + interface CIRippleTransition : CIRippleTransitionProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } +#endif } [CoreImageFilter] @@ -4152,6 +4136,9 @@ interface CIRippleTransition { [BaseType (typeof (CIFilter))] interface CIRowAverage { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } } @@ -4168,58 +4155,43 @@ interface CIScreenBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CISepiaTone { - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CISepiaTone : CISepiaToneProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIShadedMaterial { - - [CoreImageFilterProperty ("inputShadingImage")] - CIImage ShadingImage { get; set; } - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } + interface CIShadedMaterial : CIShadedMaterialProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CISharpenLuminance { - - [CoreImageFilterProperty ("inputSharpness")] - float Sharpness { get; set; } + interface CISharpenLuminance : CISharpenLuminanceProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CISixfoldReflectedTile { + interface CISixfoldReflectedTile : CISixfoldReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CISixfoldRotatedTile { + interface CISixfoldRotatedTile : CISixfoldRotatedTileProtocol { } [CoreImageFilter] [Mac (10,11)] [BaseType (typeof (CILinearGradient))] - interface CISmoothLinearGradient { - + interface CISmoothLinearGradient : CISmoothLinearGradientProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputPoint1' instead.")] [CoreImageFilterProperty ("inputPoint1")] CIVector Point1 { get; set; } + [Obsolete ("Use 'InputPoint0' instead.")] [CoreImageFilterProperty ("inputPoint0")] CIVector Point0 { get; set; } - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } +#endif } [CoreImageFilter] @@ -4250,108 +4222,35 @@ interface CISourceOverCompositing { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CISpotColor { - - [CoreImageFilterProperty ("inputReplacementColor3")] - CIColor ReplacementColor3 { get; set; } - - [CoreImageFilterProperty ("inputCloseness2")] - float Closeness2 { get; set; } - - [CoreImageFilterProperty ("inputCloseness3")] - float Closeness3 { get; set; } - - [CoreImageFilterProperty ("inputContrast1")] - float Contrast1 { get; set; } - - [CoreImageFilterProperty ("inputContrast3")] - float Contrast3 { get; set; } - - [CoreImageFilterProperty ("inputCloseness1")] - float Closeness1 { get; set; } - - [CoreImageFilterProperty ("inputContrast2")] - float Contrast2 { get; set; } - - [CoreImageFilterProperty ("inputCenterColor3")] - CIColor CenterColor3 { get; set; } - - [CoreImageFilterProperty ("inputReplacementColor1")] - CIColor ReplacementColor1 { get; set; } - - [CoreImageFilterProperty ("inputCenterColor2")] - CIColor CenterColor2 { get; set; } - - [CoreImageFilterProperty ("inputReplacementColor2")] - CIColor ReplacementColor2 { get; set; } - - [CoreImageFilterProperty ("inputCenterColor1")] - CIColor CenterColor1 { get; set; } + interface CISpotColor : CISpotColorProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CISpotLight { - - [CoreImageFilterProperty ("inputBrightness")] - float Brightness { get; set; } - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } - - [CoreImageFilterProperty ("inputLightPosition")] - CIVector LightPosition { get; set; } - - [CoreImageFilterProperty ("inputConcentration")] - float Concentration { get; set; } - - [CoreImageFilterProperty ("inputLightPointsAt")] - CIVector LightPointsAt { get; set; } + interface CISpotLight : CISpotLightProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CISRGBToneCurveToLinear { + interface CISRGBToneCurveToLinear : CISrgbToneCurveToLinearProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIStarShineGenerator { - - [CoreImageFilterProperty ("inputCrossScale")] - float CrossScale { get; set; } - - [CoreImageFilterProperty ("inputCrossAngle")] - float CrossAngle { get; set; } - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputCrossOpacity")] - float CrossOpacity { get; set; } - - [CoreImageFilterProperty ("inputCrossWidth")] - float CrossWidth { get; set; } - + interface CIStarShineGenerator : CIStarShineGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputEpsilon")] - float Epsilon { get; set; } +#endif } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIStraightenFilter { - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIStraightenFilter : CIStraightenProtocol { } [CoreImageFilter] @@ -4359,6 +4258,9 @@ interface CIStraightenFilter { [BaseType (typeof (CIFilter))] interface CIStretchCrop { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputCropAmount")] float CropAmount { get; set; } @@ -4371,22 +4273,12 @@ interface CIStretchCrop { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIStripesGenerator { - - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - - [CoreImageFilterProperty ("inputSharpness")] - float Sharpness { get; set; } - + interface CIStripesGenerator : CIStripesGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } +#endif } [CoreImageFilter] @@ -4418,33 +4310,33 @@ interface CISwipeTransition { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CITemperatureAndTint { - - [CoreImageFilterProperty ("inputTargetNeutral")] - CIVector TargetNeutral { get; set; } - - [CoreImageFilterProperty ("inputNeutral")] - CIVector Neutral { get; set; } + interface CITemperatureAndTint : CITemperatureAndTintProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIToneCurve { - + interface CIToneCurve : CIToneCurveProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputPoint0' instead.")] [CoreImageFilterProperty ("inputPoint0")] CIVector Point0 { get; set; } + [Obsolete ("Use 'InputPoint1' instead.")] [CoreImageFilterProperty ("inputPoint1")] CIVector Point1 { get; set; } + [Obsolete ("Use 'InputPoint2' instead.")] [CoreImageFilterProperty ("inputPoint2")] CIVector Point2 { get; set; } + [Obsolete ("Use 'InputPoint3' instead.")] [CoreImageFilterProperty ("inputPoint3")] CIVector Point3 { get; set; } + [Obsolete ("Use 'InputPoint4' instead.")] [CoreImageFilterProperty ("inputPoint4")] CIVector Point4 { get; set; } +#endif } [CoreImageFilter] @@ -4452,6 +4344,9 @@ interface CIToneCurve { [BaseType (typeof (CIFilter))] interface CITorusLensDistortion { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRefraction")] float Refraction { get; set; } @@ -4468,30 +4363,23 @@ interface CITorusLensDistortion { [CoreImageFilter] [Mac (10,11)] [BaseType (typeof (CIFilter))] - interface CITriangleKaleidoscope { - - [CoreImageFilterProperty ("inputRotation")] - float Rotation { get; set; } - - [CoreImageFilterProperty ("inputSize")] - float Size { get; set; } - + interface CITriangleKaleidoscope : CITriangleKaleidoscopeProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputPoint' instead.")] [CoreImageFilterProperty ("inputPoint")] CIVector Point { get; set; } - - [CoreImageFilterProperty ("inputDecay")] - float Decay { get; set; } +#endif } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITileFilter))] - interface CITriangleTile { + interface CITriangleTile : CITriangleTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CITwelvefoldReflectedTile { + interface CITwelvefoldReflectedTile : CITwelvefoldReflectedTileProtocol { } [CoreImageFilter] @@ -4504,52 +4392,31 @@ interface CITwirlDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIUnsharpMask { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIUnsharpMask : CIUnsharpMaskProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIVibrance { - - [CoreImageFilterProperty ("inputAmount")] - float Amount { get; set; } + interface CIVibrance : CIVibranceProtocol { } [CoreImageFilter] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIVignette { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIVignette : CIVignetteProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIVignetteEffect { - - [CoreImageFilterProperty ("inputFalloff")] - float Falloff { get; set; } - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIVignetteEffect : CIVignetteEffectProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } +#endif } [CoreImageFilter] @@ -4562,75 +4429,47 @@ interface CIVortexDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIWhitePointAdjust { - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } + interface CIWhitePointAdjust : CIWhitePointAdjustProtocol { } [CoreImageFilter] [iOS (8,3)] [BaseType (typeof (CIFilter))] - interface CIZoomBlur { - - [CoreImageFilterProperty ("inputAmount")] - float Amount { get; set; } - + interface CIZoomBlur : CIZoomBlurProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIDepthOfField { - - [CoreImageFilterProperty ("inputUnsharpMaskIntensity")] - float UnsharpMaskIntensity { get; set; } - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIDepthOfField : CIDepthOfFieldProtocol { +#if !XAMCORE_4_0 // renamed 1 vs 0 for API compatibility + [Obsolete ("Use 'InputPoint0' instead.")] [CoreImageFilterProperty ("inputPoint0")] CIVector Point1 { get; set; } // renamed 2 vs 1 for API compatibility + [Obsolete ("Use 'InputPoint1' instead.")] [CoreImageFilterProperty ("inputPoint1")] CIVector Point2 { get; set; } - - [CoreImageFilterProperty ("inputUnsharpMaskRadius")] - float UnsharpMaskRadius { get; set; } - - [CoreImageFilterProperty ("inputSaturation")] - float Saturation { get; set; } +#endif } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CISunbeamsGenerator { - - [CoreImageFilterProperty ("inputStriationContrast")] - float StriationContrast { get; set; } - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } - - [CoreImageFilterProperty ("inputTime")] - float Time { get; set; } - - [CoreImageFilterProperty ("inputMaxStriationRadius")] - float MaxStriationRadius { get; set; } - + interface CISunbeamsGenerator : CISunbeamsGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputSunRadius")] - float SunRadius { get; set; } - - [CoreImageFilterProperty ("inputStriationStrength")] - float StriationStrength { get; set; } +#endif #if !XAMCORE_3_0 // binding mistake - it should never been added @@ -4646,13 +4485,9 @@ interface CIFaceBalance { [iOS (9,3)] [TV (9,2)] - [Availability (Introduced = Platform.Mac_10_10, Obsoleted = Platform.Mac_10_11)] // FIXME: Is htis actually deprecated? Seems to be missing in El Capitan [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaskedVariableBlur { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIMaskedVariableBlur : CIMaskedVariableBlurProtocol { } [CoreImageFilter] @@ -4662,6 +4497,9 @@ interface CIMaskedVariableBlur { [BaseType (typeof (CIFilter))] interface CIClamp { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } } @@ -4671,22 +4509,7 @@ interface CIClamp { [Mac (10,12)] [TV (10,0)] [BaseType (typeof (CIFilter))] - interface CIHueSaturationValueGradient { - - [CoreImageFilterProperty ("inputColorSpace")] - CGColorSpace ColorSpace { get; set; } - - [CoreImageFilterProperty ("inputDither")] - float Dither { get; set; } - - [CoreImageFilterProperty ("inputValue")] - float Value { get; set; } - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputSoftness")] - float Softness { get; set; } + interface CIHueSaturationValueGradient : CIHueSaturationValueGradientProtocol { } [CoreImageFilter] @@ -4696,6 +4519,9 @@ interface CIHueSaturationValueGradient { [BaseType (typeof (CIFilter))] interface CINinePartStretched { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputGrowAmount")] CIVector GrowAmount { get; set; } @@ -4713,6 +4539,9 @@ interface CINinePartStretched { [BaseType (typeof (CIFilter))] interface CINinePartTiled { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputGrowAmount")] CIVector GrowAmount { get; set; } @@ -4731,7 +4560,7 @@ interface CINinePartTiled { [Mac (10,12)] // filter says 10.11 but it fails when I run it on El Capitan [TV (10,0)] [BaseType (typeof (CIFilter))] - interface CIThermal { + interface CIThermal : CIThermalProtocol { } [CoreImageFilter] @@ -4739,7 +4568,7 @@ interface CIThermal { [Mac (10,12)] // filter says 10.11 but it fails when I run it on El Capitan [TV (10,0)] [BaseType (typeof (CIFilter))] - interface CIXRay { + interface CIXRay : CIXRayProtocol { } [CoreImageFilter] @@ -4768,9 +4597,7 @@ interface CIImageGenerator { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIImageGenerator))] - interface CIAttributedTextImageGenerator { - [CoreImageFilterProperty ("inputText")] - NSAttributedString Text { get; set; } + interface CIAttributedTextImageGenerator : CIAttributedTextImageGeneratorProtocol { } [CoreImageFilter] @@ -4778,9 +4605,22 @@ interface CIAttributedTextImageGenerator { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CIBarcodeGenerator { - [CoreImageFilterProperty ("inputBarcodeDescriptor")] - CIBarcodeDescriptor BarcodeDescriptor { get; set; } + interface CIBarcodeGenerator : CIBarcodeGeneratorProtocol { + + [CoreImageFilterProperty ("outputCGImageForQRCodeDescriptor")] + CGImage OutputCGImageForQRCodeDescriptor { get; } + + [CoreImageFilterProperty ("outputCGImageForPDF417CodeDescriptor")] + CGImage OutputCGImageForPdf417CodeDescriptor { get; } + + [CoreImageFilterProperty ("outputCGImageForDataMatrixCodeDescriptor")] + CGImage OutputCGImageForDataMatrixCodeDescriptor { get; } + + [CoreImageFilterProperty ("outputCGImageForAztecCodeDescriptor")] + CGImage OutputCGImageForAztecCodeDescriptor { get; } + + [CoreImageFilterProperty ("outputCGImage")] + CGImage OutputCGImage { get; } } [CoreImageFilter] @@ -4790,18 +4630,17 @@ interface CIBarcodeGenerator { // Maybe 'typeof (CIScaleTransform)' (shared 'Scale' and 'AspectRatio' property). // It's possible to add ours but it can bite us back in the future if Apple introduce the same with different properties. [BaseType (typeof (CIFilter))] - interface CIBicubicScaleTransform { + interface CIBicubicScaleTransform : CIBicubicScaleTransformProtocol { + +#if !XAMCORE_4_0 + [Obsolete ("Use 'ParameterB' instead.")] [CoreImageFilterProperty ("inputB")] float B { get; set; } + [Obsolete ("Use 'ParameterC' instead.")] [CoreImageFilterProperty ("inputC")] float C { get; set; } - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } - - [CoreImageFilterProperty ("inputAspectRatio")] - float AspectRatio { get; set; } +#endif } [CoreImageFilter] @@ -4817,15 +4656,7 @@ interface CILinearBlur { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CILinearBlur))] - interface CIBokehBlur { - [CoreImageFilterProperty ("inputSoftness")] - float Softness { get; set; } - - [CoreImageFilterProperty ("inputRingSize")] - float RingSize { get; set; } - - [CoreImageFilterProperty ("inputRingAmount")] - float RingAmount { get; set; } + interface CIBokehBlur : CIBokehBlurProtocol { } [CoreImageFilter] @@ -4833,21 +4664,7 @@ interface CIBokehBlur { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] // Could almost be typeof 'CIColorCube' but property is 'inputCube0Data' not 'inputCubeData' - interface CIColorCubesMixedWithMask { - [CoreImageFilterProperty ("inputCubeDimension")] - float CubeDimension { get; set; } - - [CoreImageFilterProperty ("inputMaskImage")] - CIImage MaskImage { get; set; } - - [CoreImageFilterProperty ("inputCube0Data")] - NSData Cube0Data { get; set; } - - [CoreImageFilterProperty ("inputCube1Data")] - NSData Cube1Data { get; set; } - - [CoreImageFilterProperty ("inputColorSpace")] - CGColorSpace ColorSpace { get; set; } + interface CIColorCubesMixedWithMask : CIColorCubesMixedWithMaskProtocol { } [CoreImageFilter] @@ -4855,15 +4672,7 @@ interface CIColorCubesMixedWithMask { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CIColorCurves { - [CoreImageFilterProperty ("inputColorSpace")] - CGColorSpace ColorSpace { get; set; } - - [CoreImageFilterProperty ("inputCurvesDomain")] - CIVector CurvesDomain { get; set; } - - [CoreImageFilterProperty ("inputCurvesData")] - NSData CurvesData { get; set; } + interface CIColorCurves : CIColorCurvesProtocol { } [CoreImageFilter] @@ -4872,6 +4681,10 @@ interface CIColorCurves { [TV (11,0)] [BaseType (typeof (CIFilter))] interface CIDepthBlurEffect { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputAperture")] float Aperture { get; set; } @@ -4906,6 +4719,18 @@ interface CIDepthBlurEffect { [CoreImageFilterProperty ("inputFocusRect")] CIVector FocusRect { get; set; } + + [CoreImageFilterProperty ("inputMatteImage")] + CIImage MatteImage { get; set; } + + [CoreImageFilterProperty ("inputHairImage")] + CIImage HairImage { get; set; } + + [CoreImageFilterProperty ("inputShape")] + string Shape { get; set; } + + [CoreImageFilterProperty ("inputAuxDataMetadata")] + CGImageMetadata AuxDataMetadata { get; set; } } [CoreImageFilter] @@ -4921,29 +4746,23 @@ interface CIDepthDisparityConverter {} [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIDepthDisparityConverter))] - interface CIDepthToDisparity {} + interface CIDepthToDisparity : CIDepthToDisparityProtocol { + } [CoreImageFilter] [iOS (11,0)] [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIDepthDisparityConverter))] - interface CIDisparityToDepth {} + interface CIDisparityToDepth : CIDisparityToDepthProtocol { + } [CoreImageFilter] [iOS (11,0)] [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CIEdgePreserveUpsampleFilter { - [CoreImageFilterProperty ("inputLumaSigma")] - float LumaSigma { get; set; } - - [CoreImageFilterProperty ("inputSmallImage")] - CIImage SmallImage { get; set; } - - [CoreImageFilterProperty ("inputSpatialSigma")] - float SpatialSigma { get; set; } + interface CIEdgePreserveUpsampleFilter : CIEdgePreserveUpsampleProtocol { } [CoreImageFilter] @@ -4951,9 +4770,7 @@ interface CIEdgePreserveUpsampleFilter { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CILabDeltaE { - [CoreImageFilterProperty ("inputImage2")] - CIImage Image2 { get; set; } + interface CILabDeltaE : CILabDeltaEProtocol { } [CoreImageFilter] @@ -4961,15 +4778,7 @@ interface CILabDeltaE { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIImageGenerator))] - interface CITextImageGenerator { - [CoreImageFilterProperty ("inputText")] - string Text { get; set; } - - [CoreImageFilterProperty ("inputFontName")] - string FontName { get; set; } - - [CoreImageFilterProperty ("inputFontSize")] - float FontSize { get; set; } + interface CITextImageGenerator : CITextImageGeneratorProtocol { } [CoreImageFilter] @@ -4988,21 +4797,24 @@ interface CIMorphology { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyGradient {} + interface CIMorphologyGradient : CIMorphologyGradientProtocol { + } [CoreImageFilter] [iOS (11,0)] [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyMaximum {} + interface CIMorphologyMaximum : CIMorphologyMaximumProtocol { + } [CoreImageFilter] [iOS (11,0)] [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyMinimum {} + interface CIMorphologyMinimum : CIMorphologyMinimumProtocol { + } [CoreImageFilter] [iOS (11,0)] @@ -5153,6 +4965,11 @@ interface CIBlendKernel { [return: NullAllowed] CIImage Apply (CIImage foreground, CIImage background); + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Export ("applyWithForeground:background:colorSpace:")] + [return: NullAllowed] + CIImage Apply (CIImage foreground, CIImage background, CGColorSpace colorSpace); + // @interface BuiltIn (CIBlendKernel) [Static] @@ -5452,6 +5269,22 @@ partial interface CIImageRepresentationKeys { [TV (12, 0), iOS (12, 0), Mac (10, 14)] [Field ("kCIImageRepresentationPortraitEffectsMatteImage")] NSString PortraitEffectsMatteImageKey { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIImageRepresentationAVSemanticSegmentationMattes")] + NSString SemanticSegmentationMattesKey { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIImageRepresentationSemanticSegmentationSkinMatteImage")] + NSString SemanticSegmentationSkinMatteImageKey { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIImageRepresentationSemanticSegmentationHairMatteImage")] + NSString SemanticSegmentationHairMatteImageKey { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + [Field ("kCIImageRepresentationSemanticSegmentationTeethMatteImage")] + NSString SemanticSegmentationTeethMatteImageKey { get; } } [iOS (11,0)] @@ -5462,17 +5295,29 @@ interface CIImageRepresentationOptions { float LossyCompressionQuality { get; set; } -#if false // keys lack documentation (or sample) to expose properly - https://bugzilla.xamarin.com/show_bug.cgi?id=59296 - bool AVDepthData { get; set; } + AVDepthData AVDepthData { get; set; } + + CIImage DepthImage { get; set; } - bool DepthImage { get; set; } + CIImage DisparityImage { get; set; } - bool DisparityImage { get; set; } + [TV (12, 0), iOS (12, 0), Mac (10, 14)] + CIImage PortraitEffectsMatteImage { get; set; } - bool PortraitEffectsMatteImage { get; set; } -#endif [TV (12, 0), iOS (12, 0), Mac (10, 14)] AVPortraitEffectsMatte AVPortraitEffectsMatte { get; set; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + AVSemanticSegmentationMatte[] SemanticSegmentationMattes { get; set; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + CIImage SemanticSegmentationSkinMatteImage { get; set; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + CIImage SemanticSegmentationHairMatteImage { get; set; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + CIImage SemanticSegmentationTeethMatteImage { get; set; } } [CoreImageFilter] @@ -5481,6 +5326,14 @@ interface CIImageRepresentationOptions { [Mac (10,14)] [BaseType (typeof (CIReductionFilter))] interface CIAreaMinMax { + + [CoreImageFilterProperty ("outputImageNonMPS")] + CIImage OutputImageNonMps { get; } + +#if MONOMAC + [CoreImageFilterProperty ("outputImageMPS")] + CIImage OutputImageMps { get; } +#endif } [CoreImageFilter] @@ -5488,9 +5341,7 @@ interface CIAreaMinMax { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CIDither { - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIDither : CIDitherProtocol { } [CoreImageFilter] @@ -5499,10 +5350,16 @@ interface CIDither { [Mac (10,14)] [BaseType (typeof (CIFilter))] interface CIGuidedFilter { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputGuideImage")] CIImage GuideImage { get; set; } + [CoreImageFilterProperty ("inputEpsilon")] float Epsilon { get; set; } + [CoreImageFilterProperty ("inputRadius")] float Radius { get; set; } } @@ -5512,13 +5369,7 @@ interface CIGuidedFilter { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CIMeshGenerator { - [CoreImageFilterProperty ("inputMesh")] - CIVector [] Mesh { get; set; } - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } + interface CIMeshGenerator : CIMeshGeneratorProtocol { } [CoreImageFilter] @@ -5526,11 +5377,7 @@ interface CIMeshGenerator { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CIMix { - [CoreImageFilterProperty ("inputBackgroundImage")] - CIImage BackgroundImage { get; set; } - [CoreImageFilterProperty ("inputAmount")] - float Amount { get; set; } + interface CIMix : CIMixProtocol { } [CoreImageFilter] @@ -5539,6 +5386,9 @@ interface CIMix { [Mac (10,14)] [BaseType (typeof (CIFilter))] interface CISampleNearest { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } } [CoreImageFilter] @@ -5547,6 +5397,10 @@ interface CISampleNearest { [Mac (10,14)] [BaseType (typeof (CIFilter))] interface CICameraCalibrationLensCorrection { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputAVCameraCalibrationData")] AVCameraCalibrationData AVCameraCalibrationData { get; set; } @@ -5560,8 +5414,18 @@ interface CICameraCalibrationLensCorrection { [Mac (10,14)] [BaseType (typeof (CIFilter))] interface CICoreMLModelFilter { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputModel")] MLModel Model { get; set; } + + [CoreImageFilterProperty ("inputHeadIndex")] + int HeadIndex { get; set; } + + [CoreImageFilterProperty ("inputSoftmaxNormalization")] + bool SoftmaxNormalization { get; set; } } [CoreImageFilter] @@ -5569,7 +5433,7 @@ interface CICoreMLModelFilter { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CISaliencyMapFilter { + interface CISaliencyMapFilter : CISaliencyMapProtocol { } [CoreImageFilter] @@ -5577,10 +5441,7 @@ interface CISaliencyMapFilter { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIDocumentEnhancer { - - [CoreImageFilterProperty ("inputAmount")] - float Amount { get; set; } + interface CIDocumentEnhancer : CIDocumentEnhancerProtocol { } [CoreImageFilter] @@ -5611,11 +5472,21 @@ interface CIKMeans { [Abstract] interface CIMorphologyRectangle { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputHeight' instead.")] [CoreImageFilterProperty ("inputHeight")] int Height { get; set; } + [Obsolete ("Use 'InputWidth' instead.")] [CoreImageFilterProperty ("inputWidth")] int Width { get; set; } +#endif + + [CoreImageFilterProperty ("inputHeight")] + float InputHeight { get; set; } + + [CoreImageFilterProperty ("inputWidth")] + float InputWidth { get; set; } } [CoreImageFilter] @@ -5623,7 +5494,7 @@ interface CIMorphologyRectangle { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIMorphologyRectangle))] - interface CIMorphologyRectangleMaximum { + interface CIMorphologyRectangleMaximum : CIMorphologyRectangleMaximumProtocol { } [CoreImageFilter] @@ -5631,7 +5502,7 @@ interface CIMorphologyRectangleMaximum { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIMorphologyRectangle))] - interface CIMorphologyRectangleMinimum { + interface CIMorphologyRectangleMinimum : CIMorphologyRectangleMinimumProtocol { } [CoreImageFilter] @@ -5639,13 +5510,7 @@ interface CIMorphologyRectangleMinimum { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIPaletteCentroid { - - [CoreImageFilterProperty ("inputPaletteImage")] - CIImage PaletteImage { get; set; } - - [CoreImageFilterProperty ("inputPerceptual")] - bool Perceptual { get; set; } + interface CIPaletteCentroid : CIPaletteCentroidProtocol { } [CoreImageFilter] @@ -5653,13 +5518,7 @@ interface CIPaletteCentroid { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIPalettize { - - [CoreImageFilterProperty ("inputPaletteImage")] - CIImage PaletteImage { get; set; } - - [CoreImageFilterProperty ("inputPerceptual")] - bool Perceptual { get; set; } + interface CIPalettize : CIPalettizeProtocol { } [CoreImageFilter] @@ -5673,17 +5532,35 @@ interface CIKeystoneCorrection { [CoreImageFilterProperty ("inputFocalLength")] float FocalLength { get; set; } +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputTopRight' instead.")] [CoreImageFilterProperty ("inputTopRight")] CIVector TopRight { get; set; } + [Obsolete ("Use 'InputBottomRight' instead.")] [CoreImageFilterProperty ("inputBottomRight")] CIVector BottomRight { get; set; } + [Obsolete ("Use 'InputTopLeft' instead.")] [CoreImageFilterProperty ("inputTopLeft")] CIVector TopLeft { get; set; } + [Obsolete ("Use 'InputBottomLeft' instead.")] [CoreImageFilterProperty ("inputBottomLeft")] CIVector BottomLeft { get; set; } +#endif + + [CoreImageFilterProperty ("inputTopRight")] + CGPoint InputTopRight { get; set; } + + [CoreImageFilterProperty ("inputBottomRight")] + CGPoint InputBottomRight { get; set; } + + [CoreImageFilterProperty ("inputTopLeft")] + CGPoint InputTopLeft { get; set; } + + [CoreImageFilterProperty ("inputBottomLeft")] + CGPoint InputBottomLeft { get; set; } } [CoreImageFilter] @@ -5691,7 +5568,10 @@ interface CIKeystoneCorrection { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionCombined { + interface CIKeystoneCorrectionCombined : CIKeystoneCorrectionCombinedProtocol { + + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5699,7 +5579,15 @@ interface CIKeystoneCorrectionCombined { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionHorizontal { + interface CIKeystoneCorrectionHorizontal : CIKeystoneCorrectionHorizontalProtocol { + +#if false // no documentation about the type + [CoreImageFilterProperty ("outputRotationFilter")] + NSObject OutputRotationFilter { get; } +#endif + + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5707,7 +5595,15 @@ interface CIKeystoneCorrectionHorizontal { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionVertical { + interface CIKeystoneCorrectionVertical : CIKeystoneCorrectionVerticalProtocol { + +#if false // no documentation about the type + [CoreImageFilterProperty ("outputRotationFilter")] + CGAffineTransform OutputRotationFilter { get; } +#endif + + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5715,19 +5611,10 @@ interface CIKeystoneCorrectionVertical { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIPerspectiveRotate { - - [CoreImageFilterProperty ("inputFocalLength")] - float FocalLength { get; set; } + interface CIPerspectiveRotate : CIPerspectiveRotateProtocol { - [CoreImageFilterProperty ("inputRoll")] - float Roll { get; set; } - - [CoreImageFilterProperty ("inputPitch")] - float Pitch { get; set; } - - [CoreImageFilterProperty ("inputYaw")] - float Yaw { get; set; } + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5735,7 +5622,7 @@ interface CIPerspectiveRotate { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIGaborGradients { + interface CIGaborGradients : CIGaborGradientsProtocol { } [CoreImageFilter] @@ -5743,15 +5630,2980 @@ interface CIGaborGradients { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIRoundedRectangleGenerator { + interface CIRoundedRectangleGenerator : CIRoundedRectangleGeneratorProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } +#endif + } - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } +#region Protocols - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIFilter")] + // CIFilter already exists so we're using the Swift name + interface CIFilterProtocol { + + [Abstract] + [CoreImageFilterProperty ("outputImage")] + [NullAllowed, Export ("outputImage")] + CIImage OutputImage { get; } + + [Static] + [NullAllowed, Export ("customAttributes")] + NSDictionary CustomAttributes { get; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CITransitionFilter")] + interface CITransitionFilterProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("targetImage", ArgumentSemantic.Retain)] + CIImage TargetImage { get; set; } + + [Abstract] + [Export ("time")] + float Time { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIAccordionFoldTransition")] + interface CIAccordionFoldTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [Export ("bottomHeight")] + float BottomHeight { get; set; } + + [Abstract] + [Export ("numberOfFolds")] + // renamed for compatibility (originally bound as an integer) + float FoldCount { get; set; } + + [Abstract] + [Export ("foldShadowAmount")] + float FoldShadowAmount { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIAffineClamp")] + interface CIAffineClampProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("transform", ArgumentSemantic.Assign)] + CGAffineTransform Transform { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIAffineTile")] + interface CIAffineTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("transform", ArgumentSemantic.Assign)] + CGAffineTransform Transform { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIAttributedTextImageGenerator")] + interface CIAttributedTextImageGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("text", ArgumentSemantic.Retain)] + NSAttributedString Text { get; set; } + + [Abstract] + [Export ("scaleFactor")] + float ScaleFactor { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIAztecCodeGenerator")] + interface CIAztecCodeGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("message", ArgumentSemantic.Retain)] + NSData Message { get; set; } + + [Abstract] + [Export ("correctionLevel")] + float CorrectionLevel { get; set; } + + [Abstract] + [Export ("layers")] + float InputLayers { get; set; } + + [Abstract] + [Export ("compactStyle")] + float InputCompactStyle { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBarcodeGenerator")] + interface CIBarcodeGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("barcodeDescriptor", ArgumentSemantic.Retain)] + CIBarcodeDescriptor BarcodeDescriptor { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBarsSwipeTransition")] + interface CIBarsSwipeTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("barOffset")] + float BarOffset { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBicubicScaleTransform")] + interface CIBicubicScaleTransformProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("scale")] + float Scale { get; set; } + + [Abstract] + [Export ("aspectRatio")] + float AspectRatio { get; set; } + + [Abstract] + [CoreImageFilterProperty ("inputB")] // name differs from the export + [Export ("parameterB")] + float ParameterB { get; set; } + + [Abstract] + [CoreImageFilterProperty ("inputC")] // name differs from the export + [Export ("parameterC")] + float ParameterC { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBlendWithMask")] + interface CIBlendWithMaskProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("backgroundImage", ArgumentSemantic.Retain)] + CIImage BackgroundImage { get; set; } + + [Abstract] + [NullAllowed, Export ("maskImage", ArgumentSemantic.Retain)] + CIImage MaskImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBloom")] + interface CIBloomProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBokehBlur")] + interface CIBokehBlurProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("ringAmount")] + float RingAmount { get; set; } + + [Abstract] + [Export ("ringSize")] + float RingSize { get; set; } + + [Abstract] + [Export ("softness")] + float Softness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBoxBlur")] + interface CIBoxBlurProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICheckerboardGenerator")] + interface CICheckerboardGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("color0", ArgumentSemantic.Retain)] + CIColor Color0 { get; set; } + + [Abstract] + [Export ("color1", ArgumentSemantic.Retain)] + CIColor Color1 { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICircularScreen")] + interface CICircularScreenProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICMYKHalftone")] + interface CICmykHalftoneProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + + [Abstract] + [CoreImageFilterProperty ("inputGCR")] + [Export ("grayComponentReplacement")] + float GrayComponentReplacement { get; set; } + + [Abstract] + [CoreImageFilterProperty ("inputUCR")] + [Export ("underColorRemoval")] + float UnderColorRemoval { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICode128BarcodeGenerator")] + interface CICode128BarcodeGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("message", ArgumentSemantic.Retain)] + NSData Message { get; set; } + + [Abstract] + [Export ("quietSpace")] + float QuietSpace { get; set; } + + [Abstract] + [Export ("barcodeHeight")] + float BarcodeHeight { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorClamp")] + interface CIColorClampProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("minComponents", ArgumentSemantic.Retain)] + CIVector MinComponents { get; set; } + + [Abstract] + [Export ("maxComponents", ArgumentSemantic.Retain)] + CIVector MaxComponents { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorControls")] + interface CIColorControlsProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("saturation")] + float Saturation { get; set; } + + [Abstract] + [Export ("brightness")] + float Brightness { get; set; } + + [Abstract] + [Export ("contrast")] + float Contrast { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorCrossPolynomial")] + interface CIColorCrossPolynomialProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("redCoefficients", ArgumentSemantic.Retain)] + CIVector RedCoefficients { get; set; } + + [Abstract] + [Export ("greenCoefficients", ArgumentSemantic.Retain)] + CIVector GreenCoefficients { get; set; } + + [Abstract] + [Export ("blueCoefficients", ArgumentSemantic.Retain)] + CIVector BlueCoefficients { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorCube")] + interface CIColorCubeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("cubeDimension")] + float CubeDimension { get; set; } + + [Abstract] + [Export ("cubeData", ArgumentSemantic.Retain)] + NSData CubeData { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorCubesMixedWithMask")] + interface CIColorCubesMixedWithMaskProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("maskImage", ArgumentSemantic.Retain)] + CIImage MaskImage { get; set; } + + [Abstract] + [Export ("cubeDimension")] + float CubeDimension { get; set; } + + [Abstract] + [Export ("cube0Data", ArgumentSemantic.Retain)] + NSData Cube0Data { get; set; } + + [Abstract] + [Export ("cube1Data", ArgumentSemantic.Retain)] + NSData Cube1Data { get; set; } + + [Abstract] + [NullAllowed, Export ("colorSpace", ArgumentSemantic.Assign)] + CGColorSpace ColorSpace { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorCubeWithColorSpace")] + interface CIColorCubeWithColorSpaceProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("cubeDimension")] + float CubeDimension { get; set; } + + [Abstract] + [Export ("cubeData", ArgumentSemantic.Retain)] + NSData CubeData { get; set; } + + [Abstract] + [NullAllowed, Export ("colorSpace", ArgumentSemantic.Assign)] + CGColorSpace ColorSpace { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorCurves")] + interface CIColorCurvesProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("curvesData", ArgumentSemantic.Retain)] + NSData CurvesData { get; set; } + + [Abstract] + [Export ("curvesDomain", ArgumentSemantic.Retain)] + CIVector CurvesDomain { get; set; } + + [Abstract] + [NullAllowed, Export ("colorSpace", ArgumentSemantic.Assign)] + CGColorSpace ColorSpace { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorInvert")] + interface CIColorInvertProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorMap")] + interface CIColorMapProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("gradientImage", ArgumentSemantic.Retain)] + CIImage GradientImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorMatrix")] + interface CIColorMatrixProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("RVector", ArgumentSemantic.Retain)] + CIVector RVector { get; set; } + + [Abstract] + [Export ("GVector", ArgumentSemantic.Retain)] + CIVector GVector { get; set; } + + [Abstract] + [Export ("BVector", ArgumentSemantic.Retain)] + CIVector BVector { get; set; } + + [Abstract] + [Export ("AVector", ArgumentSemantic.Retain)] + CIVector AVector { get; set; } + + [Abstract] + [Export ("biasVector", ArgumentSemantic.Retain)] + CIVector BiasVector { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorMonochrome")] + interface CIColorMonochromeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorPolynomial")] + interface CIColorPolynomialProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("redCoefficients", ArgumentSemantic.Retain)] + CIVector RedCoefficients { get; set; } + + [Abstract] + [Export ("greenCoefficients", ArgumentSemantic.Retain)] + CIVector GreenCoefficients { get; set; } + + [Abstract] + [Export ("blueCoefficients", ArgumentSemantic.Retain)] + CIVector BlueCoefficients { get; set; } + + [Abstract] + [Export ("alphaCoefficients", ArgumentSemantic.Retain)] + CIVector AlphaCoefficients { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIColorPosterize")] + interface CIColorPosterizeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("levels")] + float Levels { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIComicEffect")] + interface CIComicEffectProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICompositeOperation")] + interface CICompositeOperationProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("backgroundImage", ArgumentSemantic.Retain)] + CIImage BackgroundImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIConvolution")] + interface CIConvolutionProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("weights", ArgumentSemantic.Retain)] + CIVector Weights { get; set; } + + [Abstract] + [Export ("bias")] + float Bias { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICopyMachineTransition")] + interface CICopyMachineTransitionProtocol : CIFilterProtocol { + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect Extent { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("opacity")] + float Opacity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICoreMLModel")] + interface CICoreMLModelProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("model", ArgumentSemantic.Retain)] + MLModel Model { get; set; } + + [Abstract] + [Export ("headIndex")] + float HeadIndex { get; set; } + + [Abstract] + [Export ("softmaxNormalization")] + bool SoftmaxNormalization { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CICrystallize")] + interface CICrystallizeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDepthOfField")] + interface CIDepthOfFieldProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("point0", ArgumentSemantic.Assign)] + CGPoint InputPoint0 { get; set; } + + [Abstract] + [Export ("point1", ArgumentSemantic.Assign)] + CGPoint InputPoint1 { get; set; } + + [Abstract] + [Export ("saturation")] + float Saturation { get; set; } + + [Abstract] + [Export ("unsharpMaskRadius")] + float UnsharpMaskRadius { get; set; } + + [Abstract] + [Export ("unsharpMaskIntensity")] + float UnsharpMaskIntensity { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDepthToDisparity")] + interface CIDepthToDisparityProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDiscBlur")] + interface CIDiscBlurProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDisintegrateWithMaskTransition")] + interface CIDisintegrateWithMaskTransitionProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("maskImage", ArgumentSemantic.Retain)] + CIImage MaskImage { get; set; } + + [Abstract] + [Export ("shadowRadius")] + float ShadowRadius { get; set; } + + [Abstract] + [Export ("shadowDensity")] + float ShadowDensity { get; set; } + + [Abstract] + [Export ("shadowOffset", ArgumentSemantic.Assign)] + CGPoint InputShadowOffset { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDisparityToDepth")] + interface CIDisparityToDepthProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDissolveTransition")] + interface CIDissolveTransitionProtocol : CIFilterProtocol { + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDither")] + interface CIDitherProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDocumentEnhancer")] + interface CIDocumentEnhancerProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("amount")] + float Amount { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDotScreen")] + interface CIDotScreenProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIEdgePreserveUpsample")] + interface CIEdgePreserveUpsampleProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("smallImage", ArgumentSemantic.Retain)] + CIImage SmallImage { get; set; } + + [Abstract] + [Export ("spatialSigma")] + float SpatialSigma { get; set; } + + [Abstract] + [Export ("lumaSigma")] + float LumaSigma { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIEdges")] + interface CIEdgesProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIEdgeWork")] + interface CIEdgeWorkProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIEightfoldReflectedTile")] + interface CIEightfoldReflectedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIExposureAdjust")] + interface CIExposureAdjustProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("EV")] + float EV { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIFalseColor")] + interface CIFalseColorProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("color0", ArgumentSemantic.Retain)] + CIColor Color0 { get; set; } + + [Abstract] + [Export ("color1", ArgumentSemantic.Retain)] + CIColor Color1 { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIFlashTransition")] + interface CIFlashTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("maxStriationRadius")] + float MaxStriationRadius { get; set; } + + [Abstract] + [Export ("striationStrength")] + float StriationStrength { get; set; } + + [Abstract] + [Export ("striationContrast")] + float StriationContrast { get; set; } + + [Abstract] + [Export ("fadeThreshold")] + float FadeThreshold { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIFourCoordinateGeometryFilter")] + interface CIFourCoordinateGeometryFilterProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("topLeft", ArgumentSemantic.Assign)] + CGPoint InputTopLeft { get; set; } + + [Abstract] + [Export ("topRight", ArgumentSemantic.Assign)] + CGPoint InputTopRight { get; set; } + + [Abstract] + [Export ("bottomRight", ArgumentSemantic.Assign)] + CGPoint InputBottomRight { get; set; } + + [Abstract] + [Export ("bottomLeft", ArgumentSemantic.Assign)] + CGPoint InputBottomLeft { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIFourfoldReflectedTile")] + interface CIFourfoldReflectedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("acuteAngle")] + float AcuteAngle { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIFourfoldRotatedTile")] + interface CIFourfoldRotatedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIFourfoldTranslatedTile")] + interface CIFourfoldTranslatedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("acuteAngle")] + float AcuteAngle { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIGaborGradients")] + interface CIGaborGradientsProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIGammaAdjust")] + interface CIGammaAdjustProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("power")] + float Power { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIGaussianBlur")] + interface CIGaussianBlurProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIGaussianGradient")] + interface CIGaussianGradientProtocol : CIFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("color0", ArgumentSemantic.Retain)] + CIColor Color0 { get; set; } + + [Abstract] + [Export ("color1", ArgumentSemantic.Retain)] + CIColor Color1 { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIGlideReflectedTile")] + interface CIGlideReflectedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIGloom")] + interface CIGloomProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIHatchedScreen")] + interface CIHatchedScreenProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIHeightFieldFromMask")] + interface CIHeightFieldFromMaskProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIHexagonalPixellate")] + interface CIHexagonalPixellateProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("scale")] + float Scale { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIHighlightShadowAdjust")] + interface CIHighlightShadowAdjustProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("shadowAmount")] + float ShadowAmount { get; set; } + + [Abstract] + [Export ("highlightAmount")] + float HighlightAmount { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIHueAdjust")] + interface CIHueAdjustProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIHueSaturationValueGradient")] + interface CIHueSaturationValueGradientProtocol : CIFilterProtocol { + + [Abstract] + [Export ("value")] + float Value { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("softness")] + float Softness { get; set; } + + [Abstract] + [Export ("dither")] + float Dither { get; set; } + + [Abstract] + [NullAllowed, Export ("colorSpace", ArgumentSemantic.Assign)] + CGColorSpace ColorSpace { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIKaleidoscope")] + interface CIKaleidoscopeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("count")] + nint InputCount { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIKeystoneCorrectionCombined")] + interface CIKeystoneCorrectionCombinedProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("focalLength")] + float FocalLength { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIKeystoneCorrectionHorizontal")] + interface CIKeystoneCorrectionHorizontalProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("focalLength")] + float FocalLength { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIKeystoneCorrectionVertical")] + interface CIKeystoneCorrectionVerticalProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("focalLength")] + float FocalLength { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CILabDeltaE")] + interface CILabDeltaEProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("image2", ArgumentSemantic.Retain)] + CIImage Image2 { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CILanczosScaleTransform")] + interface CILanczosScaleTransformProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("scale")] + float Scale { get; set; } + + [Abstract] + [Export ("aspectRatio")] + float AspectRatio { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CILenticularHaloGenerator")] + interface CILenticularHaloGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("haloRadius")] + float HaloRadius { get; set; } + + [Abstract] + [Export ("haloWidth")] + float HaloWidth { get; set; } + + [Abstract] + [Export ("haloOverlap")] + float HaloOverlap { get; set; } + + [Abstract] + [Export ("striationStrength")] + float StriationStrength { get; set; } + + [Abstract] + [Export ("striationContrast")] + float StriationContrast { get; set; } + + [Abstract] + [Export ("time")] + float Time { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CILinearGradient")] + interface CILinearGradientProtocol : CIFilterProtocol { + + [Abstract] + [Export ("point0", ArgumentSemantic.Assign)] + CGPoint InputPoint0 { get; set; } + + [Abstract] + [Export ("point1", ArgumentSemantic.Assign)] + CGPoint InputPoint1 { get; set; } + + [Abstract] + [Export ("color0", ArgumentSemantic.Retain)] + CIColor Color0 { get; set; } + + [Abstract] + [Export ("color1", ArgumentSemantic.Retain)] + CIColor Color1 { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CILinearToSRGBToneCurve")] + interface CILinearToSrgbToneCurveProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CILineOverlay")] + interface CILineOverlayProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("NRNoiseLevel")] + float NRNoiseLevel { get; set; } + + [Abstract] + [Export ("NRSharpness")] + float NRSharpness { get; set; } + + [Abstract] + [Export ("edgeIntensity")] + float EdgeIntensity { get; set; } + + [Abstract] + [Export ("threshold")] + float Threshold { get; set; } + + [Abstract] + [Export ("contrast")] + float Contrast { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CILineScreen")] + interface CILineScreenProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMaskedVariableBlur")] + interface CIMaskedVariableBlurProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("mask", ArgumentSemantic.Retain)] + CIImage Mask { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMaskToAlpha")] + interface CIMaskToAlphaProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMaximumComponent")] + interface CIMaximumComponentProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMedian")] + interface CIMedianProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMeshGenerator")] + interface CIMeshGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("mesh", ArgumentSemantic.Retain)] + CIVector[] Mesh { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMinimumComponent")] + interface CIMinimumComponentProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMix")] + interface CIMixProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("backgroundImage", ArgumentSemantic.Retain)] + CIImage BackgroundImage { get; set; } + + [Abstract] + [Export ("amount")] + float Amount { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIModTransition")] + interface CIModTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("compression")] + float Compression { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMorphologyGradient")] + interface CIMorphologyGradientProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMorphologyMaximum")] + interface CIMorphologyMaximumProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMorphologyMinimum")] + interface CIMorphologyMinimumProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMorphologyRectangleMaximum")] + interface CIMorphologyRectangleMaximumProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("width")] + float InputWidth { get; set; } + + [Abstract] + [Export ("height")] + float InputHeight { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMorphologyRectangleMinimum")] + interface CIMorphologyRectangleMinimumProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("width")] + float InputWidth { get; set; } + + [Abstract] + [Export ("height")] + float InputHeight { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIMotionBlur")] + interface CIMotionBlurProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CINoiseReduction")] + interface CINoiseReductionProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("noiseLevel")] + float NoiseLevel { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIOpTile")] + interface CIOpTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("scale")] + float Scale { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPageCurlTransition")] + interface CIPageCurlTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [NullAllowed, Export ("backsideImage", ArgumentSemantic.Retain)] + CIImage BacksideImage { get; set; } + + [Abstract] + [NullAllowed, Export ("shadingImage", ArgumentSemantic.Retain)] + CIImage ShadingImage { get; set; } + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPageCurlWithShadowTransition")] + interface CIPageCurlWithShadowTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [NullAllowed, Export ("backsideImage", ArgumentSemantic.Retain)] + CIImage BacksideImage { get; set; } + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("shadowSize")] + float ShadowSize { get; set; } + + [Abstract] + [Export ("shadowAmount")] + float ShadowAmount { get; set; } + + [Abstract] + [Export ("shadowExtent", ArgumentSemantic.Assign)] + CGRect InputShadowExtent { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPaletteCentroid")] + interface CIPaletteCentroidProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("paletteImage", ArgumentSemantic.Retain)] + CIImage PaletteImage { get; set; } + + [Abstract] + [Export ("perceptual")] + bool Perceptual { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPalettize")] + interface CIPalettizeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("paletteImage", ArgumentSemantic.Retain)] + CIImage PaletteImage { get; set; } + + [Abstract] + [Export ("perceptual")] + bool Perceptual { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIParallelogramTile")] + interface CIParallelogramTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("acuteAngle")] + float AcuteAngle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPDF417BarcodeGenerator")] + interface CIPdf417BarcodeGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("message", ArgumentSemantic.Retain)] + NSData Message { get; set; } + + [Abstract] + [Export ("minWidth")] + float MinWidth { get; set; } + + [Abstract] + [Export ("maxWidth")] + float MaxWidth { get; set; } + + [Abstract] + [Export ("minHeight")] + float MinHeight { get; set; } + + [Abstract] + [Export ("maxHeight")] + float MaxHeight { get; set; } + + [Abstract] + [Export ("dataColumns")] + float InputDataColumns { get; set; } + + [Abstract] + [Export ("rows")] + float InputRows { get; set; } + + [Abstract] + [Export ("preferredAspectRatio")] + float PreferredAspectRatio { get; set; } + + [Abstract] + [Export ("compactionMode")] + float InputCompactionMode { get; set; } + + [Abstract] + [Export ("compactStyle")] + float InputCompactStyle { get; set; } + + [Abstract] + [Export ("correctionLevel")] + float InputCorrectionLevel { get; set; } + + [Abstract] + [Export ("alwaysSpecifyCompaction")] + float InputAlwaysSpecifyCompaction { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveCorrection")] + interface CIPerspectiveCorrectionProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("crop")] + [iOS (13,0)][TV (13,0)][Mac (10,15)] // repeated so it's inlined (new property in existing filter) + bool Crop { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveRotate")] + interface CIPerspectiveRotateProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("focalLength")] + float FocalLength { get; set; } + + [Abstract] + [Export ("pitch")] + float Pitch { get; set; } + + [Abstract] + [Export ("yaw")] + float Yaw { get; set; } + + [Abstract] + [Export ("roll")] + float Roll { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveTile")] + interface CIPerspectiveTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("topLeft", ArgumentSemantic.Assign)] + CGPoint InputTopLeft { get; set; } + + [Abstract] + [Export ("topRight", ArgumentSemantic.Assign)] + CGPoint InputTopRight { get; set; } + + [Abstract] + [Export ("bottomRight", ArgumentSemantic.Assign)] + CGPoint InputBottomRight { get; set; } + + [Abstract] + [Export ("bottomLeft", ArgumentSemantic.Assign)] + CGPoint InputBottomLeft { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveTransform")] + interface CIPerspectiveTransformProtocol : CIFourCoordinateGeometryFilterProtocol { + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveTransformWithExtent")] + interface CIPerspectiveTransformWithExtentProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPhotoEffect")] + interface CIPhotoEffectProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPixellate")] + interface CIPixellateProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("scale")] + float Scale { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPointillize")] + interface CIPointillizeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIQRCodeGenerator")] + interface CIQRCodeGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("message", ArgumentSemantic.Retain)] + NSData Message { get; set; } + + [Abstract] + [Export ("correctionLevel", ArgumentSemantic.Retain)] + string CorrectionLevel { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIRadialGradient")] + interface CIRadialGradientProtocol : CIFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("radius0")] + float Radius0 { get; set; } + + [Abstract] + [Export ("radius1")] + float Radius1 { get; set; } + + [Abstract] + [Export ("color0", ArgumentSemantic.Retain)] + CIColor Color0 { get; set; } + + [Abstract] + [Export ("color1", ArgumentSemantic.Retain)] + CIColor Color1 { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIRandomGenerator")] + interface CIRandomGeneratorProtocol : CIFilterProtocol { + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIRippleTransition")] + interface CIRippleTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [NullAllowed, Export ("shadingImage", ArgumentSemantic.Retain)] + CIImage ShadingImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("scale")] + float Scale { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIRoundedRectangleGenerator")] + interface CIRoundedRectangleGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISaliencyMap")] + interface CISaliencyMapProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISepiaTone")] + interface CISepiaToneProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIShadedMaterial")] + interface CIShadedMaterialProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [NullAllowed, Export ("shadingImage", ArgumentSemantic.Retain)] + CIImage ShadingImage { get; set; } + + [Abstract] + [Export ("scale")] + float Scale { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISharpenLuminance")] + interface CISharpenLuminanceProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + + [Abstract] + [Export ("radius")] + [iOS (13,0)][TV (13,0)][Mac (10,15)] // repeated so it's inlined (new property in existing filter) + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISixfoldReflectedTile")] + interface CISixfoldReflectedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISixfoldRotatedTile")] + interface CISixfoldRotatedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISmoothLinearGradient")] + interface CISmoothLinearGradientProtocol : CIFilterProtocol { + [Abstract] + [Export ("point0", ArgumentSemantic.Assign)] + CGPoint InputPoint0 { get; set; } + + [Abstract] + [Export ("point1", ArgumentSemantic.Assign)] + CGPoint InputPoint1 { get; set; } + + [Abstract] + [Export ("color0", ArgumentSemantic.Retain)] + CIColor Color0 { get; set; } + + [Abstract] + [Export ("color1", ArgumentSemantic.Retain)] + CIColor Color1 { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISpotColor")] + interface CISpotColorProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("centerColor1", ArgumentSemantic.Retain)] + CIColor CenterColor1 { get; set; } + + [Abstract] + [Export ("replacementColor1", ArgumentSemantic.Retain)] + CIColor ReplacementColor1 { get; set; } + + [Abstract] + [Export ("closeness1")] + float Closeness1 { get; set; } + + [Abstract] + [Export ("contrast1")] + float Contrast1 { get; set; } + + [Abstract] + [Export ("centerColor2", ArgumentSemantic.Retain)] + CIColor CenterColor2 { get; set; } + + [Abstract] + [Export ("replacementColor2", ArgumentSemantic.Retain)] + CIColor ReplacementColor2 { get; set; } + + [Abstract] + [Export ("closeness2")] + float Closeness2 { get; set; } + + [Abstract] + [Export ("contrast2")] + float Contrast2 { get; set; } + + [Abstract] + [Export ("centerColor3", ArgumentSemantic.Retain)] + CIColor CenterColor3 { get; set; } + + [Abstract] + [Export ("replacementColor3", ArgumentSemantic.Retain)] + CIColor ReplacementColor3 { get; set; } + + [Abstract] + [Export ("closeness3")] + float Closeness3 { get; set; } + + [Abstract] + [Export ("contrast3")] + float Contrast3 { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISpotLight")] + interface CISpotLightProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("lightPosition", ArgumentSemantic.Retain)] + CIVector LightPosition { get; set; } + + [Abstract] + [Export ("lightPointsAt", ArgumentSemantic.Retain)] + CIVector LightPointsAt { get; set; } + + [Abstract] + [Export ("brightness")] + float Brightness { get; set; } + + [Abstract] + [Export ("concentration")] + float Concentration { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISRGBToneCurveToLinear")] + interface CISrgbToneCurveToLinearProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIStarShineGenerator")] + interface CIStarShineGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("crossScale")] + float CrossScale { get; set; } + + [Abstract] + [Export ("crossAngle")] + float CrossAngle { get; set; } + + [Abstract] + [Export ("crossOpacity")] + float CrossOpacity { get; set; } + + [Abstract] + [Export ("crossWidth")] + float CrossWidth { get; set; } + + [Abstract] + [Export ("epsilon")] + float Epsilon { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIStraighten")] + interface CIStraightenProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIStripesGenerator")] + interface CIStripesGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("color0", ArgumentSemantic.Retain)] + CIColor Color0 { get; set; } + + [Abstract] + [Export ("color1", ArgumentSemantic.Retain)] + CIColor Color1 { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("sharpness")] + float Sharpness { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISunbeamsGenerator")] + interface CISunbeamsGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("sunRadius")] + float SunRadius { get; set; } + + [Abstract] + [Export ("maxStriationRadius")] + float MaxStriationRadius { get; set; } + + [Abstract] + [Export ("striationStrength")] + float StriationStrength { get; set; } + + [Abstract] + [Export ("striationContrast")] + float StriationContrast { get; set; } + + [Abstract] + [Export ("time")] + float Time { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISwipeTransition")] + interface CISwipeTransitionProtocol : CITransitionFilterProtocol { + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + + [Abstract] + [Export ("opacity")] + float Opacity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CITemperatureAndTint")] + interface CITemperatureAndTintProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("neutral", ArgumentSemantic.Retain)] + CIVector Neutral { get; set; } + + [Abstract] + [Export ("targetNeutral", ArgumentSemantic.Retain)] + CIVector TargetNeutral { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CITextImageGenerator")] + interface CITextImageGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("text", ArgumentSemantic.Retain)] + string Text { get; set; } + + [Abstract] + [Export ("fontName", ArgumentSemantic.Retain)] + string FontName { get; set; } + + [Abstract] + [Export ("fontSize")] + float FontSize { get; set; } + + [Abstract] + [Export ("scaleFactor")] + float ScaleFactor { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIThermal")] + interface CIThermalProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIToneCurve")] + interface CIToneCurveProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("point0", ArgumentSemantic.Assign)] + CGPoint InputPoint0 { get; set; } + + [Abstract] + [Export ("point1", ArgumentSemantic.Assign)] + CGPoint InputPoint1 { get; set; } + + [Abstract] + [Export ("point2", ArgumentSemantic.Assign)] + CGPoint InputPoint2 { get; set; } + + [Abstract] + [Export ("point3", ArgumentSemantic.Assign)] + CGPoint InputPoint3 { get; set; } + + [Abstract] + [Export ("point4", ArgumentSemantic.Assign)] + CGPoint InputPoint4 { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CITriangleKaleidoscope")] + interface CITriangleKaleidoscopeProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("point", ArgumentSemantic.Assign)] + CGPoint InputPoint { get; set; } + + [Abstract] + [Export ("size")] + float Size { get; set; } + + [Abstract] + [Export ("rotation")] + float Rotation { get; set; } + + [Abstract] + [Export ("decay")] + float Decay { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CITriangleTile")] + interface CITriangleTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CITwelvefoldReflectedTile")] + interface CITwelvefoldReflectedTileProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("angle")] + float Angle { get; set; } + + [Abstract] + [Export ("width")] + float Width { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIUnsharpMask")] + interface CIUnsharpMaskProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIVibrance")] + interface CIVibranceProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("amount")] + float Amount { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIVignette")] + interface CIVignetteProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIVignetteEffect")] + interface CIVignetteEffectProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("radius")] + float Radius { get; set; } + + [Abstract] + [Export ("intensity")] + float Intensity { get; set; } + + [Abstract] + [Export ("falloff")] + float Falloff { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIWhitePointAdjust")] + interface CIWhitePointAdjustProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("color", ArgumentSemantic.Retain)] + CIColor Color { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIXRay")] + interface CIXRayProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + } + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIZoomBlur")] + interface CIZoomBlurProtocol : CIFilterProtocol { + + [Abstract] + [NullAllowed, Export ("inputImage", ArgumentSemantic.Retain)] + CIImage InputImage { get; set; } + + [Abstract] + [Export ("center", ArgumentSemantic.Assign)] + CGPoint InputCenter { get; set; } + + [Abstract] + [Export ("amount")] + float Amount { get; set; } } +#endregion } diff --git a/src/frameworks.sources b/src/frameworks.sources index 4ef363205768..3dfa1bacd1f6 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -916,11 +916,13 @@ IMAGECAPTURECORE_API_SOURCES = \ IMAGEIO_API_SOURCES = \ ImageIO/Enums.cs \ +IMAGEIO_CORE_SOURCES = \ + ImageIO/CGImageSource.cs \ + IMAGEIO_SOURCES = \ ImageIO/CGImageDestination.cs \ ImageIO/CGImageMetadata.cs \ ImageIO/CGImageMetadataTag.cs \ - ImageIO/CGImageSource.cs \ ImageIO/CGImageSource.iOS.cs \ ImageIO/CGMutableImageMetadata.cs \ diff --git a/src/generator-filters.cs b/src/generator-filters.cs index c2338c7104ae..bf9898e1228e 100644 --- a/src/generator-filters.cs +++ b/src/generator-filters.cs @@ -1,10 +1,12 @@ // Copyright 2015 Xamarin Inc. All rights reserved. +// Copyright Microsoft Corp. using System; using System.Collections.Generic; using IKVM.Reflection; using Type = IKVM.Reflection.Type; using Foundation; +using ObjCRuntime; public partial class Generator { @@ -33,10 +35,16 @@ public void GenerateFilter (Type type) // internal static CIFilter FromName (string filterName, IntPtr handle) filters.Add (type_name); + // filters are now exposed as protocols so we need to conform to them + var interfaces = String.Empty; + foreach (var i in type.GetInterfaces ()) { + interfaces += $", I{i.Name}"; + } + // type declaration - print ("public{0} partial class {1} : {2} {{", + print ("public{0} partial class {1} : {2}{3} {{", is_abstract ? " abstract" : String.Empty, - type_name, base_name); + type_name, base_name, interfaces); print (""); indent++; @@ -105,12 +113,54 @@ public void GenerateFilter (Type type) } // properties + GenerateProperties (type); + + // protocols + GenerateProtocolProperties (type, new HashSet ()); + + indent--; + print ("}"); + + // namespace closing (it's optional to use namespaces even if it's a bad practice, ref #35283) + if (indent > 0) { + indent--; + print ("}"); + } + } + + void GenerateProtocolProperties (Type type, HashSet processed) + { + foreach (var i in type.GetInterfaces ()) { + if (!IsProtocolInterface (i, false, out var protocol)) + continue; + + // the same protocol can be included more than once (interfaces) - but we must generate only once + var pname = i.Name; + if (processed.Contains (pname)) + continue; + processed.Add (pname); + + print (""); + print ($"// {pname} protocol members "); + GenerateProperties (i); + + // also include base interfaces/protocols + GenerateProtocolProperties (i, processed); + } + } + + void GenerateProperties (Type type) + { foreach (var p in type.GetProperties (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) { if (p.IsUnavailable (this)) continue; + if (AttributeManager.HasAttribute (p)) + continue; print (""); + PrintPropertyAttributes (p); print_generated_code (); + var ptype = p.PropertyType.Name; // keep C# names as they are reserved keywords (e.g. Boolean also exists in OpenGL for Mac) switch (ptype) { @@ -126,28 +176,57 @@ public void GenerateFilter (Type type) case "String": ptype = "string"; break; + // adding `using ImageIO;` would lead to `error CS0104: 'CGImageProperties' is an ambiguous reference between 'CoreGraphics.CGImageProperties' and 'ImageIO.CGImageProperties'` + case "CGImageMetadata": + ptype = "ImageIO.CGImageMetadata"; + break; } print ("public {0} {1} {{", ptype, p.Name); indent++; + // an export will be present (only) if it's defined in a protocol + var export = AttributeManager.GetCustomAttribute (p); + var name = AttributeManager.GetCustomAttribute (p)?.Name; - if (p.GetGetMethod () != null) + // we can skip the name when it's identical to a protocol selector + if (name == null) { + if (export == null) + throw new BindingException (1072, true, $"Missing [CoreImageFilterProperty] attribute on {0} property {1}", type.Name, p.Name); + + var sel = export.Selector; + if (sel.StartsWith ("input", StringComparison.Ordinal)) + name = sel; + else + name = "input" + Capitalize (sel); + } + + if (p.GetGetMethod () != null) { + PrintFilterExport (p, export, setter: false); GenerateFilterGetter (ptype, name); - if (p.GetSetMethod () != null) + } + if (p.GetSetMethod () != null) { + PrintFilterExport (p, export, setter: true); GenerateFilterSetter (ptype, name); + } indent--; print ("}"); } + } - indent--; - print ("}"); + void PrintFilterExport (PropertyInfo p, ExportAttribute export, bool setter) + { + if (export == null) + return; - // namespace closing (it's optional to use namespaces even if it's a bad practice, ref #35283) - if (indent > 0) { - indent--; - print ("}"); - } + var selector = export.Selector; + if (setter) + selector = "set" + Capitalize (selector) + ":"; + + if (export.ArgumentSemantic != ArgumentSemantic.None && !p.PropertyType.IsPrimitive) + print ($"[Export (\"{selector}\", ArgumentSemantic.{export.ArgumentSemantic})]"); + else + print ($"[Export (\"{selector}\")]"); } void GenerateFilterGetter (string propertyType, string propertyName) @@ -166,22 +245,30 @@ void GenerateFilterGetter (string propertyType, string propertyName) indent++; print ("return nsv.CGAffineTransformValue;"); indent--; - print ("return new CGAffineTransform (1, 0, 0, 1, 0, 0);"); + print ("return CGAffineTransform.MakeIdentity ();"); break; // NSObject should not be added + // NSNumber should not be added - it should be bound as a float (common), int32 or bool case "AVCameraCalibrationData": case "CGColorSpace": + case "CGImage": + case "ImageIO.CGImageMetadata": case "CIBarcodeDescriptor": + case "MLModel": + case "NSAttributedString": + case "NSData": print ("return Runtime.GetINativeObject <{0}> (GetHandle (\"{1}\"), false);", propertyType, propertyName); break; case "CIColor": - print ("return GetColor (\"{0}\");", propertyName); - break; case "CIImage": - print ("return GetImage (\"{0}\");", propertyName); - break; case "CIVector": - print ("return GetVector (\"{0}\");", propertyName); + print ($"return ValueForKey (\"{propertyName}\") as {propertyType};"); + break; + case "CGPoint": + print ("return GetPoint (\"{0}\");", propertyName); + break; + case "CGRect": + print ("return GetRect (\"{0}\");", propertyName); break; case "float": print ("return GetFloat (\"{0}\");", propertyName); @@ -189,11 +276,8 @@ void GenerateFilterGetter (string propertyType, string propertyName) case "int": print ("return GetInt (\"{0}\");", propertyName); break; - case "MLModel": - case "NSAttributedString": - case "NSData": - // NSNumber should not be added - it should be bound as a float (common), int32 or bool - print ("return ValueForKey (\"{0}\") as {1};", propertyName, propertyType); + case "nint": + print ("return GetNInt (\"{0}\");", propertyName); break; case "string": // NSString should not be added - it should be bound as a string @@ -229,12 +313,19 @@ void GenerateFilterSetter (string propertyType, string propertyName) case "int": print ("SetInt (\"{0}\", value);", propertyName); break; + case "nint": + print ("SetNInt (\"{0}\", value);", propertyName); + break; // NSObject should not be added case "AVCameraCalibrationData": case "CGColorSpace": case "CIBarcodeDescriptor": - print ("SetHandle (\"{0}\", value == null ? IntPtr.Zero : value.Handle);", propertyName); + case "CGImage": + case "ImageIO.CGImageMetadata": + print ($"SetHandle (\"{propertyName}\", value.GetHandle ());"); break; + case "CGPoint": + case "CGRect": case "CIColor": case "CIImage": case "CIVector": diff --git a/src/generator-typemanager.cs b/src/generator-typemanager.cs index 57f693d589f0..f98cdd245ccc 100644 --- a/src/generator-typemanager.cs +++ b/src/generator-typemanager.cs @@ -64,6 +64,7 @@ public class TypeManager { public Type CGPDFPage; public Type CGGradient; public Type CGImage; + public Type CGImageSource; public Type CGLayer; public Type CGLContext; public Type CGLPixelFormat; @@ -256,6 +257,7 @@ public void Initialize (BindingTouch binding_touch, Assembly api, Assembly corli CGPDFPage = Lookup (platform_assembly, "CoreGraphics", "CGPDFPage"); CGGradient = Lookup (platform_assembly, "CoreGraphics", "CGGradient"); CGImage = Lookup (platform_assembly, "CoreGraphics", "CGImage"); + CGImageSource = Lookup (platform_assembly, "ImageIO", "CGImageSource"); CGLayer = Lookup (platform_assembly, "CoreGraphics", "CGLayer"); if (Frameworks.HaveOpenGL) { CGLContext = Lookup (platform_assembly, "OpenGL", "CGLContext"); diff --git a/src/generator.cs b/src/generator.cs index 1956ce62ca50..dfcf3eef16c8 100644 --- a/src/generator.cs +++ b/src/generator.cs @@ -1214,14 +1214,21 @@ string ParameterGetMarshalType (MarshalInfo mai, bool formatted = false) bool IsProtocolInterface (Type type, bool checkPrefix = true) { + return IsProtocolInterface (type, checkPrefix, out var _); + } + + bool IsProtocolInterface (Type type, bool checkPrefix, out Type protocol) + { + protocol = null; // for subclassing the type (from the binding files) is not yet prefixed by an `I` if (checkPrefix && type.Name [0] != 'I') return false; + protocol = type; if (AttributeManager.HasAttribute (type)) return true; - var protocol = type.Assembly.GetType (type.Namespace + "." + type.Name.Substring (1), false); + protocol = type.Assembly.GetType (type.Namespace + "." + type.Name.Substring (1), false); if (protocol == null) return false; @@ -2200,6 +2207,7 @@ public void Go () marshal_types.Add (TypeManager.Class); marshal_types.Add (TypeManager.CFRunLoop); marshal_types.Add (TypeManager.CGColorSpace); + marshal_types.Add (TypeManager.CGImageSource); marshal_types.Add (TypeManager.DispatchData); marshal_types.Add (TypeManager.DispatchQueue); marshal_types.Add (TypeManager.Protocol); @@ -2885,6 +2893,9 @@ void GenerateStrongDictionaryTypes () } else if (pi.PropertyType.Name == "CGColorSpace") { getter = "GetNativeValue<" + pi.PropertyType +"> ({0})"; setter = "SetNativeValue ({0}, value)"; + } else if (pi.PropertyType.Name == "CGImageSource") { + getter = "GetNativeValue<" + pi.PropertyType +"> ({0})"; + setter = "SetNativeValue ({0}, value)"; } else { throw new BindingException (1031, true, "Limitation: can not automatically create strongly typed dictionary for " + diff --git a/tests/introspection/ApiCoreImageFiltersTest.cs b/tests/introspection/ApiCoreImageFiltersTest.cs index 26f5cbdb3dda..d243613a603b 100644 --- a/tests/introspection/ApiCoreImageFiltersTest.cs +++ b/tests/introspection/ApiCoreImageFiltersTest.cs @@ -25,6 +25,7 @@ using System.Collections.Generic; using System.IO; using System.Reflection; +using System.Text; using NUnit.Framework; @@ -215,6 +216,313 @@ static void GenerateBinding (NSObject filter, TextWriter writer) writer.WriteLine (); writer.Flush (); } + + [Test] + public void Protocols () + { + var to_confirm_manually = new StringBuilder (); + ContinueOnFailure = true; + var nspace = CIFilterType.Namespace; + var types = CIFilterType.Assembly.GetTypes (); + foreach (Type t in types) { + if (t.Namespace != nspace) + continue; + + // e.g. FooProtocolWrapper + if (!t.IsPublic) + continue; + + switch (t.Name) { + // we are interested in subclasses (real) filters + case "CIFilter": + continue; + // no protocol has been added (yet?) you can confirm with `grep` that it does not report anything in the terminal + case "CIAdditionCompositing": + case "CIAreaAverage": + case "CIAreaHistogram": + case "CIAreaMaximum": + case "CIAreaMaximumAlpha": + case "CIAreaMinimum": + case "CIAreaMinimumAlpha": + case "CIAreaMinMax": + case "CIAreaMinMaxRed": + case "CIBlendFilter": + case "CIBumpDistortion": + case "CIBumpDistortionLinear": + case "CICameraCalibrationLensCorrection": + case "CICircleSplashDistortion": + case "CICircularWrap": + case "CIClamp": + case "CICodeGenerator": + case "CIColorBlendMode": + case "CIColorBurnBlendMode": + case "CIColorDodgeBlendMode": + case "CIColumnAverage": + case "CICompositingFilter": + case "CIConstantColorGenerator": + case "CIConvolution3X3": + case "CIConvolution5X5": + case "CIConvolution7X7": + case "CIConvolution9Horizontal": + case "CIConvolution9Vertical": + case "CIConvolutionCore": + case "CICoreMLModelFilter": + case "CICrop": + case "CIDarkenBlendMode": + case "CIDepthBlurEffect": + case "CIDepthDisparityConverter": + case "CIDifferenceBlendMode": + case "CIDisplacementDistortion": + case "CIDistortionFilter": + case "CIDivideBlendMode": + case "CIDroste": + case "CIExclusionBlendMode": + case "CIFaceBalance": + case "CIGlassDistortion": + case "CIGlassLozenge": + case "CIGuidedFilter": + case "CIHardLightBlendMode": + case "CIHistogramDisplayFilter": + case "CIHoleDistortion": + case "CIHueBlendMode": + case "CIImageGenerator": + case "CIKeystoneCorrection": + case "CIKMeans": + case "CILightenBlendMode": + case "CILightTunnel": + case "CILinearBlur": + case "CILinearBurnBlendMode": + case "CILinearDodgeBlendMode": + case "CILuminosityBlendMode": + case "CIMaximumCompositing": + case "CIMinimumCompositing": + case "CIMorphology": + case "CIMorphologyRectangle": + case "CIMultiplyBlendMode": + case "CIMultiplyCompositing": + case "CINinePartStretched": + case "CINinePartTiled": + case "CIOverlayBlendMode": + case "CIPinchDistortion": + case "CIPinLightBlendMode": + case "CIReductionFilter": + case "CIRowAverage": + case "CISampleNearest": + case "CISaturationBlendMode": + case "CIScreenBlendMode": + case "CIScreenFilter": + case "CISoftLightBlendMode": + case "CISourceAtopCompositing": + case "CISourceInCompositing": + case "CISourceOutCompositing": + case "CISourceOverCompositing": + case "CIStretchCrop": + case "CISubtractBlendMode": + case "CITileFilter": + case "CITorusLensDistortion": + case "CITwirlDistortion": + case "CIVortexDistortion": + // this list is likely to change with newer Xcode - uncomment if you want to the script to check the list + //to_confirm_manually.AppendLine ($"grep {t.Name} `xcode-select -p`/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/*.h"); + // since xtro will report the missing protocols this is a 2nd layer of safety :) + continue; + } + + bool assign = typeof (ICIFilterProtocol).IsAssignableFrom (t); + bool suffix = t.Name.EndsWith ("Protocol", StringComparison.Ordinal); + + if (t.IsInterface) { + if (assign) { + // check that `IFooProtocol` has a [Protocol (Name = "Foo")] attribute + var ca = t.GetCustomAttribute (false); + if (ca == null) { + ReportError ($"Managed {t.Name} should have a '[Protocol (Name=\"{t.Name.Replace ("Protocol", "")}\")]' attribute"); + } + // check that the managed name ends with Protocol, so we can have the _normal_ name to be a concrete type (like our historic, strongly typed filters) + if (!suffix) { + ReportError ($"Managed {t.Name} should have a 'Protocol' suffix"); + } + } else if (suffix) { + ReportError ($"Managed {t.Name} should implement 'ICIFilterProtocol' interface."); + } + } else if (suffix) { + ReportError ($"Managed {t.Name} should be an interface since it represent a protocol"); + } else if (assign) { + // all CIFilter should map to a `ICI*Protocol` interface / protocol + bool found = false; + foreach (var inft in t.GetInterfaces ()) { + if (inft.Namespace == nspace && inft.Name.EndsWith ("Protocol", StringComparison.Ordinal)) { + found = true; + break; + } + } + if (!found) + ReportError ($"Managed CIFilter '{t.Name}' does not conform to any CoreImage filter protocol."); + } else if (CIFilterType.IsAssignableFrom (t)) { + // missing ICIFilterProtocol + to_confirm_manually.AppendLine ($"grep \"protocol {t.Name} \" `xcode-select -p`/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/*.h"); + ReportError ($"Managed CIFilter '{t.Name}' does not conform to 'ICIFilterProtocol' protocol. Confirm with generated `grep` script on console."); + } + } + if (to_confirm_manually.Length > 0) { + Console.WriteLine (to_confirm_manually); + } + Assert.AreEqual (0, Errors, "{0} potential errors found{1}", Errors, Errors == 0 ? string.Empty : ":\n" + ErrorData.ToString () + "\n"); + } + + [Test] + public void Keys () + { + ContinueOnFailure = true; + var nspace = CIFilterType.Namespace; + var types = CIFilterType.Assembly.GetTypes (); + foreach (Type t in types) { + if (t.Namespace != nspace) + continue; + + if (t.IsAbstract || !CIFilterType.IsAssignableFrom (t)) + continue; + + // we need to skip the filters that are not supported by the executing version of iOS + if (Skip (t)) + continue; + + var ctor = t.GetConstructor (Type.EmptyTypes); + if ((ctor == null) || ctor.IsAbstract) + continue; + + CIFilter f = ctor.Invoke (null) as CIFilter; + + // first check that every property can be mapped to an input key - except if it starts with "Output" + foreach (var p in t.GetProperties (BindingFlags.Public | BindingFlags.Instance)) { + var pt = p.DeclaringType; + if (!CIFilterType.IsAssignableFrom (pt) || (pt == CIFilterType)) + continue; + + if (SkipDueToAttribute (p)) + continue; + + var getter = p.GetGetMethod (); + var ea = getter.GetCustomAttribute (false); + // only properties coming (inlined) from protocols have an [Export] attribute + if (ea == null) + continue; + var key = ea.Selector; + // 'output' is always explicit + if (key.StartsWith ("output", StringComparison.Ordinal)) { + if (Array.IndexOf (f.OutputKeys, key) < 0) { + ReportError ($"{t.Name}: Property `{p.Name}` mapped to key `{key}` is not part of `OutputKeys`."); + //GenerateBinding (f, Console.Out); + } + } else { + // special cases (protocol names are better) + switch (t.Name) { + case "CIBicubicScaleTransform": + switch (key) { + case "parameterB": + key = "inputB"; + break; + case "parameterC": + key = "inputC"; + break; + } + break; + case "CICmykHalftone": + switch (key) { + case "grayComponentReplacement": + key = "inputGCR"; + break; + case "underColorRemoval": + key = "inputUCR"; + break; + } + break; + } + // 'input' is implied (generally) and explicit (in a few cases) + if (!key.StartsWith ("input", StringComparison.Ordinal)) + key = "input" + Char.ToUpperInvariant (key [0]) + key.Substring (1); + + if (Array.IndexOf (f.InputKeys, key) < 0) { + ReportError ($"{t.Name}: Property `{p.Name}` mapped to key `{key}` is not part of `InputKeys`."); + //GenerateBinding (f, Console.Out); + } + } + } + + // second check that every input key is mapped to an property + foreach (var key in f.InputKeys) { + string cap = Char.ToUpperInvariant (key [0]) + key.Substring (1); + // special cases (protocol names are better) + switch (t.Name) { + case "CICmykHalftone": + switch (key) { + case "inputGCR": + cap = "GrayComponentReplacement"; + break; + case "inputUCR": + cap = "UnderColorRemoval"; + break; + } + break; + } + // IgnoreCase because there are acronyms (more than 2 letters) that naming convention force us to change + var pi = t.GetProperty (cap, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy); + if (pi == null) { + // 2nd chance: some, but not all, property are prefixed by `Input` + if (key.StartsWith ("input", StringComparison.Ordinal)) { + cap = Char.ToUpperInvariant (key [5]) + key.Substring (6); + pi = t.GetProperty (cap, BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy); + } + } + if (pi == null) { + ReportError ($"{t.Name}: Input Key `{key}` is NOT mapped to a `{cap}` property."); + //GenerateBinding (f, Console.Out); + } else if (pi.GetSetMethod () == null) + ReportError ($"{t.Name}: Property `{pi.Name}` MUST have a setter."); + } + + // third check that every output key is mapped to an property + foreach (var key in f.OutputKeys) { + // special cases + switch (t.Name) { + case "CIKeystoneCorrectionCombined": + case "CIKeystoneCorrectionHorizontal": + case "CIKeystoneCorrectionVertical": + switch (key) { + case "outputRotationFilter": + continue; // lack of documentation about the returned type + } + break; + case "CILanczosScaleTransform": + switch (key) { + // ref: https://github.com/xamarin/xamarin-macios/issues/7209 + case "outputImageNewScaleX:scaleY:": + case "outputImageOldScaleX:scaleY:": + continue; + } + break; + case "CIDiscBlur": + switch (key) { + // existed in iOS 10.3 but not in iOS 13 - we're not adding them + case "outputImageOriginal": + case "outputImageEnhanced": + continue; + } + break; + } + + var cap = Char.ToUpperInvariant (key [0]) + key.Substring (1); + // IgnoreCase because there are acronyms (more than 2 letters) that naming convention force us to change + var po = t.GetProperty (cap, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy); + if (po == null) { + ReportError ($"{t.Name}: Output Key `{key}` is NOT mapped to a `{cap}` property."); + //GenerateBinding (f, Console.Out); + } else if (po.GetSetMethod () != null) + ReportError ($"{t.Name}: Property `{po.Name}` should NOT have a setter."); + } + } + Assert.AreEqual (0, Errors, "{0} potential errors found{1}", Errors, Errors == 0 ? string.Empty : ":\n" + ErrorData.ToString () + "\n"); + } } } diff --git a/tests/introspection/ApiTypoTest.cs b/tests/introspection/ApiTypoTest.cs index aad09889cd98..ed37f401bec9 100644 --- a/tests/introspection/ApiTypoTest.cs +++ b/tests/introspection/ApiTypoTest.cs @@ -489,6 +489,7 @@ public virtual bool Skip (MemberInfo methodName, string typo) { "Snapshotter", "Snorm", "Sobel", + "Softmax", // get_SoftmaxNormalization "Spacei", "Sqrt", "Srgb", diff --git a/tests/xtro-sharpie/common-CoreImage.ignore b/tests/xtro-sharpie/common-CoreImage.ignore index 098187f91977..f67e10b63bea 100644 --- a/tests/xtro-sharpie/common-CoreImage.ignore +++ b/tests/xtro-sharpie/common-CoreImage.ignore @@ -15,3 +15,188 @@ ## at some point in time (iOS11/macOS 10.11) this API was removed/deprecated and we added a compatibility ## stub using 'autoAdjustmentFiltersWithOptions:'. Now it's back (in headers but can be ignored) !missing-selector! CIImage::autoAdjustmentFilters not bound + +## we already provide alternative API to create the filters +!missing-selector! +CIFilter::accordionFoldTransitionFilter not bound +!missing-selector! +CIFilter::additionCompositingFilter not bound +!missing-selector! +CIFilter::affineClampFilter not bound +!missing-selector! +CIFilter::affineTileFilter not bound +!missing-selector! +CIFilter::attributedTextImageGeneratorFilter not bound +!missing-selector! +CIFilter::aztecCodeGeneratorFilter not bound +!missing-selector! +CIFilter::barcodeGeneratorFilter not bound +!missing-selector! +CIFilter::barsSwipeTransitionFilter not bound +!missing-selector! +CIFilter::bicubicScaleTransformFilter not bound +!missing-selector! +CIFilter::blendWithAlphaMaskFilter not bound +!missing-selector! +CIFilter::blendWithBlueMaskFilter not bound +!missing-selector! +CIFilter::blendWithMaskFilter not bound +!missing-selector! +CIFilter::blendWithRedMaskFilter not bound +!missing-selector! +CIFilter::bloomFilter not bound +!missing-selector! +CIFilter::bokehBlurFilter not bound +!missing-selector! +CIFilter::boxBlurFilter not bound +!missing-selector! +CIFilter::checkerboardGeneratorFilter not bound +!missing-selector! +CIFilter::circularScreenFilter not bound +!missing-selector! +CIFilter::CMYKHalftone not bound +!missing-selector! +CIFilter::code128BarcodeGeneratorFilter not bound +!missing-selector! +CIFilter::colorBlendModeFilter not bound +!missing-selector! +CIFilter::colorBurnBlendModeFilter not bound +!missing-selector! +CIFilter::colorClampFilter not bound +!missing-selector! +CIFilter::colorControlsFilter not bound +!missing-selector! +CIFilter::colorCrossPolynomialFilter not bound +!missing-selector! +CIFilter::colorCubeFilter not bound +!missing-selector! +CIFilter::colorCubesMixedWithMaskFilter not bound +!missing-selector! +CIFilter::colorCubeWithColorSpaceFilter not bound +!missing-selector! +CIFilter::colorCurvesFilter not bound +!missing-selector! +CIFilter::colorDodgeBlendModeFilter not bound +!missing-selector! +CIFilter::colorInvertFilter not bound +!missing-selector! +CIFilter::colorMapFilter not bound +!missing-selector! +CIFilter::colorMatrixFilter not bound +!missing-selector! +CIFilter::colorMonochromeFilter not bound +!missing-selector! +CIFilter::colorPolynomialFilter not bound +!missing-selector! +CIFilter::colorPosterizeFilter not bound +!missing-selector! +CIFilter::comicEffectFilter not bound +!missing-selector! +CIFilter::convolution3X3Filter not bound +!missing-selector! +CIFilter::convolution5X5Filter not bound +!missing-selector! +CIFilter::convolution7X7Filter not bound +!missing-selector! +CIFilter::convolution9HorizontalFilter not bound +!missing-selector! +CIFilter::convolution9VerticalFilter not bound +!missing-selector! +CIFilter::copyMachineTransitionFilter not bound +!missing-selector! +CIFilter::coreMLModelFilter not bound +!missing-selector! +CIFilter::crystallizeFilter not bound +!missing-selector! +CIFilter::darkenBlendModeFilter not bound +!missing-selector! +CIFilter::depthOfFieldFilter not bound +!missing-selector! +CIFilter::depthToDisparityFilter not bound +!missing-selector! +CIFilter::differenceBlendModeFilter not bound +!missing-selector! +CIFilter::discBlurFilter not bound +!missing-selector! +CIFilter::disintegrateWithMaskTransitionFilter not bound +!missing-selector! +CIFilter::disparityToDepthFilter not bound +!missing-selector! +CIFilter::dissolveTransitionFilter not bound +!missing-selector! +CIFilter::ditherFilter not bound +!missing-selector! +CIFilter::divideBlendModeFilter not bound +!missing-selector! +CIFilter::documentEnhancerFilter not bound +!missing-selector! +CIFilter::dotScreenFilter not bound +!missing-selector! +CIFilter::edgePreserveUpsampleFilter not bound +!missing-selector! +CIFilter::edgesFilter not bound +!missing-selector! +CIFilter::edgeWorkFilter not bound +!missing-selector! +CIFilter::eightfoldReflectedTileFilter not bound +!missing-selector! +CIFilter::exclusionBlendModeFilter not bound +!missing-selector! +CIFilter::exposureAdjustFilter not bound +!missing-selector! +CIFilter::falseColorFilter not bound +!missing-selector! +CIFilter::flashTransitionFilter not bound +!missing-selector! +CIFilter::fourfoldReflectedTileFilter not bound +!missing-selector! +CIFilter::fourfoldRotatedTileFilter not bound +!missing-selector! +CIFilter::fourfoldTranslatedTileFilter not bound +!missing-selector! +CIFilter::gaborGradientsFilter not bound +!missing-selector! +CIFilter::gammaAdjustFilter not bound +!missing-selector! +CIFilter::gaussianBlurFilter not bound +!missing-selector! +CIFilter::gaussianGradientFilter not bound +!missing-selector! +CIFilter::glideReflectedTileFilter not bound +!missing-selector! +CIFilter::gloomFilter not bound +!missing-selector! +CIFilter::hardLightBlendModeFilter not bound +!missing-selector! +CIFilter::hatchedScreenFilter not bound +!missing-selector! +CIFilter::heightFieldFromMaskFilter not bound +!missing-selector! +CIFilter::hexagonalPixellateFilter not bound +!missing-selector! +CIFilter::highlightShadowAdjustFilter not bound +!missing-selector! +CIFilter::hueAdjustFilter not bound +!missing-selector! +CIFilter::hueBlendModeFilter not bound +!missing-selector! +CIFilter::hueSaturationValueGradientFilter not bound +!missing-selector! +CIFilter::kaleidoscopeFilter not bound +!missing-selector! +CIFilter::keystoneCorrectionCombinedFilter not bound +!missing-selector! +CIFilter::keystoneCorrectionHorizontalFilter not bound +!missing-selector! +CIFilter::keystoneCorrectionVerticalFilter not bound +!missing-selector! +CIFilter::LabDeltaE not bound +!missing-selector! +CIFilter::lanczosScaleTransformFilter not bound +!missing-selector! +CIFilter::lenticularHaloGeneratorFilter not bound +!missing-selector! +CIFilter::lightenBlendModeFilter not bound +!missing-selector! +CIFilter::linearBurnBlendModeFilter not bound +!missing-selector! +CIFilter::linearDodgeBlendModeFilter not bound +!missing-selector! +CIFilter::linearGradientFilter not bound +!missing-selector! +CIFilter::linearToSRGBToneCurveFilter not bound +!missing-selector! +CIFilter::lineOverlayFilter not bound +!missing-selector! +CIFilter::lineScreenFilter not bound +!missing-selector! +CIFilter::luminosityBlendModeFilter not bound +!missing-selector! +CIFilter::maskedVariableBlurFilter not bound +!missing-selector! +CIFilter::maskToAlphaFilter not bound +!missing-selector! +CIFilter::maximumComponentFilter not bound +!missing-selector! +CIFilter::maximumCompositingFilter not bound +!missing-selector! +CIFilter::medianFilter not bound +!missing-selector! +CIFilter::meshGeneratorFilter not bound +!missing-selector! +CIFilter::minimumComponentFilter not bound +!missing-selector! +CIFilter::minimumCompositingFilter not bound +!missing-selector! +CIFilter::mixFilter not bound +!missing-selector! +CIFilter::modTransitionFilter not bound +!missing-selector! +CIFilter::morphologyGradientFilter not bound +!missing-selector! +CIFilter::morphologyMaximumFilter not bound +!missing-selector! +CIFilter::morphologyMinimumFilter not bound +!missing-selector! +CIFilter::morphologyRectangleMaximumFilter not bound +!missing-selector! +CIFilter::morphologyRectangleMinimumFilter not bound +!missing-selector! +CIFilter::motionBlurFilter not bound +!missing-selector! +CIFilter::multiplyBlendModeFilter not bound +!missing-selector! +CIFilter::multiplyCompositingFilter not bound +!missing-selector! +CIFilter::noiseReductionFilter not bound +!missing-selector! +CIFilter::opTileFilter not bound +!missing-selector! +CIFilter::overlayBlendModeFilter not bound +!missing-selector! +CIFilter::pageCurlTransitionFilter not bound +!missing-selector! +CIFilter::pageCurlWithShadowTransitionFilter not bound +!missing-selector! +CIFilter::paletteCentroidFilter not bound +!missing-selector! +CIFilter::palettizeFilter not bound +!missing-selector! +CIFilter::parallelogramTileFilter not bound +!missing-selector! +CIFilter::PDF417BarcodeGenerator not bound +!missing-selector! +CIFilter::perspectiveCorrectionFilter not bound +!missing-selector! +CIFilter::perspectiveRotateFilter not bound +!missing-selector! +CIFilter::perspectiveTileFilter not bound +!missing-selector! +CIFilter::perspectiveTransformFilter not bound +!missing-selector! +CIFilter::perspectiveTransformWithExtentFilter not bound +!missing-selector! +CIFilter::photoEffectChromeFilter not bound +!missing-selector! +CIFilter::photoEffectFadeFilter not bound +!missing-selector! +CIFilter::photoEffectInstantFilter not bound +!missing-selector! +CIFilter::photoEffectMonoFilter not bound +!missing-selector! +CIFilter::photoEffectNoirFilter not bound +!missing-selector! +CIFilter::photoEffectProcessFilter not bound +!missing-selector! +CIFilter::photoEffectTonalFilter not bound +!missing-selector! +CIFilter::photoEffectTransferFilter not bound +!missing-selector! +CIFilter::pinLightBlendModeFilter not bound +!missing-selector! +CIFilter::pixellateFilter not bound +!missing-selector! +CIFilter::pointillizeFilter not bound +!missing-selector! +CIFilter::QRCodeGenerator not bound +!missing-selector! +CIFilter::radialGradientFilter not bound +!missing-selector! +CIFilter::randomGeneratorFilter not bound +!missing-selector! +CIFilter::rippleTransitionFilter not bound +!missing-selector! +CIFilter::roundedRectangleGeneratorFilter not bound +!missing-selector! +CIFilter::saliencyMapFilter not bound +!missing-selector! +CIFilter::saturationBlendModeFilter not bound +!missing-selector! +CIFilter::screenBlendModeFilter not bound +!missing-selector! +CIFilter::sepiaToneFilter not bound +!missing-selector! +CIFilter::shadedMaterialFilter not bound +!missing-selector! +CIFilter::sharpenLuminanceFilter not bound +!missing-selector! +CIFilter::sixfoldReflectedTileFilter not bound +!missing-selector! +CIFilter::sixfoldRotatedTileFilter not bound +!missing-selector! +CIFilter::smoothLinearGradientFilter not bound +!missing-selector! +CIFilter::softLightBlendModeFilter not bound +!missing-selector! +CIFilter::sourceAtopCompositingFilter not bound +!missing-selector! +CIFilter::sourceInCompositingFilter not bound +!missing-selector! +CIFilter::sourceOutCompositingFilter not bound +!missing-selector! +CIFilter::sourceOverCompositingFilter not bound +!missing-selector! +CIFilter::spotColorFilter not bound +!missing-selector! +CIFilter::spotLightFilter not bound +!missing-selector! +CIFilter::sRGBToneCurveToLinearFilter not bound +!missing-selector! +CIFilter::starShineGeneratorFilter not bound +!missing-selector! +CIFilter::straightenFilter not bound +!missing-selector! +CIFilter::stripesGeneratorFilter not bound +!missing-selector! +CIFilter::subtractBlendModeFilter not bound +!missing-selector! +CIFilter::sunbeamsGeneratorFilter not bound +!missing-selector! +CIFilter::supportedRawCameraModels not bound +!missing-selector! +CIFilter::swipeTransitionFilter not bound +!missing-selector! +CIFilter::temperatureAndTintFilter not bound +!missing-selector! +CIFilter::textImageGeneratorFilter not bound +!missing-selector! +CIFilter::thermalFilter not bound +!missing-selector! +CIFilter::toneCurveFilter not bound +!missing-selector! +CIFilter::triangleKaleidoscopeFilter not bound +!missing-selector! +CIFilter::triangleTileFilter not bound +!missing-selector! +CIFilter::twelvefoldReflectedTileFilter not bound +!missing-selector! +CIFilter::unsharpMaskFilter not bound +!missing-selector! +CIFilter::vibranceFilter not bound +!missing-selector! +CIFilter::vignetteEffectFilter not bound +!missing-selector! +CIFilter::vignetteFilter not bound +!missing-selector! +CIFilter::whitePointAdjustFilter not bound +!missing-selector! +CIFilter::xRayFilter not bound +!missing-selector! +CIFilter::zoomBlurFilter not bound diff --git a/tests/xtro-sharpie/iOS-CoreImage.todo b/tests/xtro-sharpie/iOS-CoreImage.todo deleted file mode 100644 index 009771440a13..000000000000 --- a/tests/xtro-sharpie/iOS-CoreImage.todo +++ /dev/null @@ -1,358 +0,0 @@ -!missing-field! kCIContextAllowLowPower not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationHairMatte not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationSkinMatte not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationTeethMatte not bound -!missing-field! kCIImageRepresentationAVSemanticSegmentationMattes not bound -!missing-field! kCIImageRepresentationSemanticSegmentationHairMatteImage not bound -!missing-field! kCIImageRepresentationSemanticSegmentationSkinMatteImage not bound -!missing-field! kCIImageRepresentationSemanticSegmentationTeethMatteImage not bound -!missing-field! kCIInputEnableEDRModeKey not bound -!missing-protocol! CIAccordionFoldTransition not bound -!missing-protocol! CIAffineClamp not bound -!missing-protocol! CIAffineTile not bound -!missing-protocol! CIAttributedTextImageGenerator not bound -!missing-protocol! CIAztecCodeGenerator not bound -!missing-protocol! CIBarcodeGenerator not bound -!missing-protocol! CIBarsSwipeTransition not bound -!missing-protocol! CIBicubicScaleTransform not bound -!missing-protocol! CIBlendWithMask not bound -!missing-protocol! CIBloom not bound -!missing-protocol! CIBokehBlur not bound -!missing-protocol! CIBoxBlur not bound -!missing-protocol! CICheckerboardGenerator not bound -!missing-protocol! CICircularScreen not bound -!missing-protocol! CICMYKHalftone not bound -!missing-protocol! CICode128BarcodeGenerator not bound -!missing-protocol! CIColorClamp not bound -!missing-protocol! CIColorControls not bound -!missing-protocol! CIColorCrossPolynomial not bound -!missing-protocol! CIColorCube not bound -!missing-protocol! CIColorCubesMixedWithMask not bound -!missing-protocol! CIColorCubeWithColorSpace not bound -!missing-protocol! CIColorCurves not bound -!missing-protocol! CIColorInvert not bound -!missing-protocol! CIColorMap not bound -!missing-protocol! CIColorMatrix not bound -!missing-protocol! CIColorMonochrome not bound -!missing-protocol! CIColorPolynomial not bound -!missing-protocol! CIColorPosterize not bound -!missing-protocol! CIComicEffect not bound -!missing-protocol! CICompositeOperation not bound -!missing-protocol! CIConvolution not bound -!missing-protocol! CICopyMachineTransition not bound -!missing-protocol! CICoreMLModel not bound -!missing-protocol! CICrystallize not bound -!missing-protocol! CIDepthOfField not bound -!missing-protocol! CIDepthToDisparity not bound -!missing-protocol! CIDiscBlur not bound -!missing-protocol! CIDisintegrateWithMaskTransition not bound -!missing-protocol! CIDisparityToDepth not bound -!missing-protocol! CIDissolveTransition not bound -!missing-protocol! CIDither not bound -!missing-protocol! CIDocumentEnhancer not bound -!missing-protocol! CIDotScreen not bound -!missing-protocol! CIEdgePreserveUpsample not bound -!missing-protocol! CIEdges not bound -!missing-protocol! CIEdgeWork not bound -!missing-protocol! CIEightfoldReflectedTile not bound -!missing-protocol! CIExposureAdjust not bound -!missing-protocol! CIFalseColor not bound -!missing-protocol! CIFilter not bound -!missing-protocol! CIFlashTransition not bound -!missing-protocol! CIFourCoordinateGeometryFilter not bound -!missing-protocol! CIFourfoldReflectedTile not bound -!missing-protocol! CIFourfoldRotatedTile not bound -!missing-protocol! CIFourfoldTranslatedTile not bound -!missing-protocol! CIGaborGradients not bound -!missing-protocol! CIGammaAdjust not bound -!missing-protocol! CIGaussianBlur not bound -!missing-protocol! CIGaussianGradient not bound -!missing-protocol! CIGlideReflectedTile not bound -!missing-protocol! CIGloom not bound -!missing-protocol! CIHatchedScreen not bound -!missing-protocol! CIHeightFieldFromMask not bound -!missing-protocol! CIHexagonalPixellate not bound -!missing-protocol! CIHighlightShadowAdjust not bound -!missing-protocol! CIHueAdjust not bound -!missing-protocol! CIHueSaturationValueGradient not bound -!missing-protocol! CIKaleidoscope not bound -!missing-protocol! CIKeystoneCorrectionCombined not bound -!missing-protocol! CIKeystoneCorrectionHorizontal not bound -!missing-protocol! CIKeystoneCorrectionVertical not bound -!missing-protocol! CILabDeltaE not bound -!missing-protocol! CILanczosScaleTransform not bound -!missing-protocol! CILenticularHaloGenerator not bound -!missing-protocol! CILinearGradient not bound -!missing-protocol! CILinearToSRGBToneCurve not bound -!missing-protocol! CILineOverlay not bound -!missing-protocol! CILineScreen not bound -!missing-protocol! CIMaskedVariableBlur not bound -!missing-protocol! CIMaskToAlpha not bound -!missing-protocol! CIMaximumComponent not bound -!missing-protocol! CIMedian not bound -!missing-protocol! CIMeshGenerator not bound -!missing-protocol! CIMinimumComponent not bound -!missing-protocol! CIMix not bound -!missing-protocol! CIModTransition not bound -!missing-protocol! CIMorphologyGradient not bound -!missing-protocol! CIMorphologyMaximum not bound -!missing-protocol! CIMorphologyMinimum not bound -!missing-protocol! CIMorphologyRectangleMaximum not bound -!missing-protocol! CIMorphologyRectangleMinimum not bound -!missing-protocol! CIMotionBlur not bound -!missing-protocol! CINoiseReduction not bound -!missing-protocol! CIOpTile not bound -!missing-protocol! CIPageCurlTransition not bound -!missing-protocol! CIPageCurlWithShadowTransition not bound -!missing-protocol! CIPaletteCentroid not bound -!missing-protocol! CIPalettize not bound -!missing-protocol! CIParallelogramTile not bound -!missing-protocol! CIPDF417BarcodeGenerator not bound -!missing-protocol! CIPerspectiveCorrection not bound -!missing-protocol! CIPerspectiveRotate not bound -!missing-protocol! CIPerspectiveTile not bound -!missing-protocol! CIPerspectiveTransform not bound -!missing-protocol! CIPerspectiveTransformWithExtent not bound -!missing-protocol! CIPhotoEffect not bound -!missing-protocol! CIPixellate not bound -!missing-protocol! CIPointillize not bound -!missing-protocol! CIQRCodeGenerator not bound -!missing-protocol! CIRadialGradient not bound -!missing-protocol! CIRandomGenerator not bound -!missing-protocol! CIRippleTransition not bound -!missing-protocol! CIRoundedRectangleGenerator not bound -!missing-protocol! CISaliencyMap not bound -!missing-protocol! CISepiaTone not bound -!missing-protocol! CIShadedMaterial not bound -!missing-protocol! CISharpenLuminance not bound -!missing-protocol! CISixfoldReflectedTile not bound -!missing-protocol! CISixfoldRotatedTile not bound -!missing-protocol! CISmoothLinearGradient not bound -!missing-protocol! CISpotColor not bound -!missing-protocol! CISpotLight not bound -!missing-protocol! CISRGBToneCurveToLinear not bound -!missing-protocol! CIStarShineGenerator not bound -!missing-protocol! CIStraighten not bound -!missing-protocol! CIStripesGenerator not bound -!missing-protocol! CISunbeamsGenerator not bound -!missing-protocol! CISwipeTransition not bound -!missing-protocol! CITemperatureAndTint not bound -!missing-protocol! CITextImageGenerator not bound -!missing-protocol! CIThermal not bound -!missing-protocol! CIToneCurve not bound -!missing-protocol! CITransitionFilter not bound -!missing-protocol! CITriangleKaleidoscope not bound -!missing-protocol! CITriangleTile not bound -!missing-protocol! CITwelvefoldReflectedTile not bound -!missing-protocol! CIUnsharpMask not bound -!missing-protocol! CIVibrance not bound -!missing-protocol! CIVignette not bound -!missing-protocol! CIVignetteEffect not bound -!missing-protocol! CIWhitePointAdjust not bound -!missing-protocol! CIXRay not bound -!missing-protocol! CIZoomBlur not bound -!missing-selector! +CIFilter::accordionFoldTransitionFilter not bound -!missing-selector! +CIFilter::additionCompositingFilter not bound -!missing-selector! +CIFilter::affineClampFilter not bound -!missing-selector! +CIFilter::affineTileFilter not bound -!missing-selector! +CIFilter::attributedTextImageGeneratorFilter not bound -!missing-selector! +CIFilter::aztecCodeGeneratorFilter not bound -!missing-selector! +CIFilter::barcodeGeneratorFilter not bound -!missing-selector! +CIFilter::barsSwipeTransitionFilter not bound -!missing-selector! +CIFilter::bicubicScaleTransformFilter not bound -!missing-selector! +CIFilter::blendWithAlphaMaskFilter not bound -!missing-selector! +CIFilter::blendWithBlueMaskFilter not bound -!missing-selector! +CIFilter::blendWithMaskFilter not bound -!missing-selector! +CIFilter::blendWithRedMaskFilter not bound -!missing-selector! +CIFilter::bloomFilter not bound -!missing-selector! +CIFilter::bokehBlurFilter not bound -!missing-selector! +CIFilter::boxBlurFilter not bound -!missing-selector! +CIFilter::checkerboardGeneratorFilter not bound -!missing-selector! +CIFilter::circularScreenFilter not bound -!missing-selector! +CIFilter::CMYKHalftone not bound -!missing-selector! +CIFilter::code128BarcodeGeneratorFilter not bound -!missing-selector! +CIFilter::colorBlendModeFilter not bound -!missing-selector! +CIFilter::colorBurnBlendModeFilter not bound -!missing-selector! +CIFilter::colorClampFilter not bound -!missing-selector! +CIFilter::colorControlsFilter not bound -!missing-selector! +CIFilter::colorCrossPolynomialFilter not bound -!missing-selector! +CIFilter::colorCubeFilter not bound -!missing-selector! +CIFilter::colorCubesMixedWithMaskFilter not bound -!missing-selector! +CIFilter::colorCubeWithColorSpaceFilter not bound -!missing-selector! +CIFilter::colorCurvesFilter not bound -!missing-selector! +CIFilter::colorDodgeBlendModeFilter not bound -!missing-selector! +CIFilter::colorInvertFilter not bound -!missing-selector! +CIFilter::colorMapFilter not bound -!missing-selector! +CIFilter::colorMatrixFilter not bound -!missing-selector! +CIFilter::colorMonochromeFilter not bound -!missing-selector! +CIFilter::colorPolynomialFilter not bound -!missing-selector! +CIFilter::colorPosterizeFilter not bound -!missing-selector! +CIFilter::comicEffectFilter not bound -!missing-selector! +CIFilter::convolution3X3Filter not bound -!missing-selector! +CIFilter::convolution5X5Filter not bound -!missing-selector! +CIFilter::convolution7X7Filter not bound -!missing-selector! +CIFilter::convolution9HorizontalFilter not bound -!missing-selector! +CIFilter::convolution9VerticalFilter not bound -!missing-selector! +CIFilter::copyMachineTransitionFilter not bound -!missing-selector! +CIFilter::coreMLModelFilter not bound -!missing-selector! +CIFilter::crystallizeFilter not bound -!missing-selector! +CIFilter::darkenBlendModeFilter not bound -!missing-selector! +CIFilter::depthOfFieldFilter not bound -!missing-selector! +CIFilter::depthToDisparityFilter not bound -!missing-selector! +CIFilter::differenceBlendModeFilter not bound -!missing-selector! +CIFilter::discBlurFilter not bound -!missing-selector! +CIFilter::disintegrateWithMaskTransitionFilter not bound -!missing-selector! +CIFilter::disparityToDepthFilter not bound -!missing-selector! +CIFilter::dissolveTransitionFilter not bound -!missing-selector! +CIFilter::ditherFilter not bound -!missing-selector! +CIFilter::divideBlendModeFilter not bound -!missing-selector! +CIFilter::documentEnhancerFilter not bound -!missing-selector! +CIFilter::dotScreenFilter not bound -!missing-selector! +CIFilter::edgePreserveUpsampleFilter not bound -!missing-selector! +CIFilter::edgesFilter not bound -!missing-selector! +CIFilter::edgeWorkFilter not bound -!missing-selector! +CIFilter::eightfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::exclusionBlendModeFilter not bound -!missing-selector! +CIFilter::exposureAdjustFilter not bound -!missing-selector! +CIFilter::falseColorFilter not bound -!missing-selector! +CIFilter::flashTransitionFilter not bound -!missing-selector! +CIFilter::fourfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::fourfoldRotatedTileFilter not bound -!missing-selector! +CIFilter::fourfoldTranslatedTileFilter not bound -!missing-selector! +CIFilter::gaborGradientsFilter not bound -!missing-selector! +CIFilter::gammaAdjustFilter not bound -!missing-selector! +CIFilter::gaussianBlurFilter not bound -!missing-selector! +CIFilter::gaussianGradientFilter not bound -!missing-selector! +CIFilter::glideReflectedTileFilter not bound -!missing-selector! +CIFilter::gloomFilter not bound -!missing-selector! +CIFilter::hardLightBlendModeFilter not bound -!missing-selector! +CIFilter::hatchedScreenFilter not bound -!missing-selector! +CIFilter::heightFieldFromMaskFilter not bound -!missing-selector! +CIFilter::hexagonalPixellateFilter not bound -!missing-selector! +CIFilter::highlightShadowAdjustFilter not bound -!missing-selector! +CIFilter::hueAdjustFilter not bound -!missing-selector! +CIFilter::hueBlendModeFilter not bound -!missing-selector! +CIFilter::hueSaturationValueGradientFilter not bound -!missing-selector! +CIFilter::kaleidoscopeFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionCombinedFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionHorizontalFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionVerticalFilter not bound -!missing-selector! +CIFilter::LabDeltaE not bound -!missing-selector! +CIFilter::lanczosScaleTransformFilter not bound -!missing-selector! +CIFilter::lenticularHaloGeneratorFilter not bound -!missing-selector! +CIFilter::lightenBlendModeFilter not bound -!missing-selector! +CIFilter::linearBurnBlendModeFilter not bound -!missing-selector! +CIFilter::linearDodgeBlendModeFilter not bound -!missing-selector! +CIFilter::linearGradientFilter not bound -!missing-selector! +CIFilter::linearToSRGBToneCurveFilter not bound -!missing-selector! +CIFilter::lineOverlayFilter not bound -!missing-selector! +CIFilter::lineScreenFilter not bound -!missing-selector! +CIFilter::luminosityBlendModeFilter not bound -!missing-selector! +CIFilter::maskedVariableBlurFilter not bound -!missing-selector! +CIFilter::maskToAlphaFilter not bound -!missing-selector! +CIFilter::maximumComponentFilter not bound -!missing-selector! +CIFilter::maximumCompositingFilter not bound -!missing-selector! +CIFilter::medianFilter not bound -!missing-selector! +CIFilter::meshGeneratorFilter not bound -!missing-selector! +CIFilter::minimumComponentFilter not bound -!missing-selector! +CIFilter::minimumCompositingFilter not bound -!missing-selector! +CIFilter::mixFilter not bound -!missing-selector! +CIFilter::modTransitionFilter not bound -!missing-selector! +CIFilter::morphologyGradientFilter not bound -!missing-selector! +CIFilter::morphologyMaximumFilter not bound -!missing-selector! +CIFilter::morphologyMinimumFilter not bound -!missing-selector! +CIFilter::morphologyRectangleMaximumFilter not bound -!missing-selector! +CIFilter::morphologyRectangleMinimumFilter not bound -!missing-selector! +CIFilter::motionBlurFilter not bound -!missing-selector! +CIFilter::multiplyBlendModeFilter not bound -!missing-selector! +CIFilter::multiplyCompositingFilter not bound -!missing-selector! +CIFilter::noiseReductionFilter not bound -!missing-selector! +CIFilter::opTileFilter not bound -!missing-selector! +CIFilter::overlayBlendModeFilter not bound -!missing-selector! +CIFilter::pageCurlTransitionFilter not bound -!missing-selector! +CIFilter::pageCurlWithShadowTransitionFilter not bound -!missing-selector! +CIFilter::paletteCentroidFilter not bound -!missing-selector! +CIFilter::palettizeFilter not bound -!missing-selector! +CIFilter::parallelogramTileFilter not bound -!missing-selector! +CIFilter::PDF417BarcodeGenerator not bound -!missing-selector! +CIFilter::perspectiveCorrectionFilter not bound -!missing-selector! +CIFilter::perspectiveRotateFilter not bound -!missing-selector! +CIFilter::perspectiveTileFilter not bound -!missing-selector! +CIFilter::perspectiveTransformFilter not bound -!missing-selector! +CIFilter::perspectiveTransformWithExtentFilter not bound -!missing-selector! +CIFilter::photoEffectChromeFilter not bound -!missing-selector! +CIFilter::photoEffectFadeFilter not bound -!missing-selector! +CIFilter::photoEffectInstantFilter not bound -!missing-selector! +CIFilter::photoEffectMonoFilter not bound -!missing-selector! +CIFilter::photoEffectNoirFilter not bound -!missing-selector! +CIFilter::photoEffectProcessFilter not bound -!missing-selector! +CIFilter::photoEffectTonalFilter not bound -!missing-selector! +CIFilter::photoEffectTransferFilter not bound -!missing-selector! +CIFilter::pinLightBlendModeFilter not bound -!missing-selector! +CIFilter::pixellateFilter not bound -!missing-selector! +CIFilter::pointillizeFilter not bound -!missing-selector! +CIFilter::QRCodeGenerator not bound -!missing-selector! +CIFilter::radialGradientFilter not bound -!missing-selector! +CIFilter::randomGeneratorFilter not bound -!missing-selector! +CIFilter::rippleTransitionFilter not bound -!missing-selector! +CIFilter::roundedRectangleGeneratorFilter not bound -!missing-selector! +CIFilter::saliencyMapFilter not bound -!missing-selector! +CIFilter::saturationBlendModeFilter not bound -!missing-selector! +CIFilter::screenBlendModeFilter not bound -!missing-selector! +CIFilter::sepiaToneFilter not bound -!missing-selector! +CIFilter::shadedMaterialFilter not bound -!missing-selector! +CIFilter::sharpenLuminanceFilter not bound -!missing-selector! +CIFilter::sixfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::sixfoldRotatedTileFilter not bound -!missing-selector! +CIFilter::smoothLinearGradientFilter not bound -!missing-selector! +CIFilter::softLightBlendModeFilter not bound -!missing-selector! +CIFilter::sourceAtopCompositingFilter not bound -!missing-selector! +CIFilter::sourceInCompositingFilter not bound -!missing-selector! +CIFilter::sourceOutCompositingFilter not bound -!missing-selector! +CIFilter::sourceOverCompositingFilter not bound -!missing-selector! +CIFilter::spotColorFilter not bound -!missing-selector! +CIFilter::spotLightFilter not bound -!missing-selector! +CIFilter::sRGBToneCurveToLinearFilter not bound -!missing-selector! +CIFilter::starShineGeneratorFilter not bound -!missing-selector! +CIFilter::straightenFilter not bound -!missing-selector! +CIFilter::stripesGeneratorFilter not bound -!missing-selector! +CIFilter::subtractBlendModeFilter not bound -!missing-selector! +CIFilter::sunbeamsGeneratorFilter not bound -!missing-selector! +CIFilter::supportedRawCameraModels not bound -!missing-selector! +CIFilter::swipeTransitionFilter not bound -!missing-selector! +CIFilter::temperatureAndTintFilter not bound -!missing-selector! +CIFilter::textImageGeneratorFilter not bound -!missing-selector! +CIFilter::thermalFilter not bound -!missing-selector! +CIFilter::toneCurveFilter not bound -!missing-selector! +CIFilter::triangleKaleidoscopeFilter not bound -!missing-selector! +CIFilter::triangleTileFilter not bound -!missing-selector! +CIFilter::twelvefoldReflectedTileFilter not bound -!missing-selector! +CIFilter::unsharpMaskFilter not bound -!missing-selector! +CIFilter::vibranceFilter not bound -!missing-selector! +CIFilter::vignetteEffectFilter not bound -!missing-selector! +CIFilter::vignetteFilter not bound -!missing-selector! +CIFilter::whitePointAdjustFilter not bound -!missing-selector! +CIFilter::xRayFilter not bound -!missing-selector! +CIFilter::zoomBlurFilter not bound -!missing-selector! +CIImage::blackImage not bound -!missing-selector! +CIImage::blueImage not bound -!missing-selector! +CIImage::clearImage not bound -!missing-selector! +CIImage::cyanImage not bound -!missing-selector! +CIImage::grayImage not bound -!missing-selector! +CIImage::greenImage not bound -!missing-selector! +CIImage::imageWithCGImageSource:index:options: not bound -!missing-selector! +CIImage::imageWithSemanticSegmentationMatte: not bound -!missing-selector! +CIImage::imageWithSemanticSegmentationMatte:options: not bound -!missing-selector! +CIImage::magentaImage not bound -!missing-selector! +CIImage::redImage not bound -!missing-selector! +CIImage::whiteImage not bound -!missing-selector! +CIImage::yellowImage not bound -!missing-selector! CIBlendKernel::applyWithForeground:background:colorSpace: not bound -!missing-selector! CIContext::depthBlurEffectFilterForImage:disparityImage:portraitEffectsMatte:hairSemanticSegmentation:orientation:options: not bound -!missing-selector! CIImage::imageByApplyingTransform:highQualityDownsample: not bound -!missing-selector! CIImage::initWithCGImageSource:index:options: not bound -!missing-selector! CIImage::initWithSemanticSegmentationMatte: not bound -!missing-selector! CIImage::initWithSemanticSegmentationMatte:options: not bound -!missing-selector! CIImage::semanticSegmentationMatte not bound -!missing-selector! +CIContext::contextWithMTLCommandQueue: not bound -!missing-selector! +CIContext::contextWithMTLCommandQueue:options: not bound diff --git a/tests/xtro-sharpie/macOS-CoreImage.todo b/tests/xtro-sharpie/macOS-CoreImage.todo deleted file mode 100644 index 95a2645580dc..000000000000 --- a/tests/xtro-sharpie/macOS-CoreImage.todo +++ /dev/null @@ -1,360 +0,0 @@ -!deprecated-attribute-missing! CIPlugIn::loadAllPlugIns missing a [Deprecated] attribute -!missing-field! kCIContextAllowLowPower not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationHairMatte not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationSkinMatte not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationTeethMatte not bound -!missing-field! kCIImageRepresentationAVSemanticSegmentationMattes not bound -!missing-field! kCIImageRepresentationSemanticSegmentationHairMatteImage not bound -!missing-field! kCIImageRepresentationSemanticSegmentationSkinMatteImage not bound -!missing-field! kCIImageRepresentationSemanticSegmentationTeethMatteImage not bound -!missing-field! kCIInputEnableEDRModeKey not bound -!missing-protocol! CIAccordionFoldTransition not bound -!missing-protocol! CIAffineClamp not bound -!missing-protocol! CIAffineTile not bound -!missing-protocol! CIAttributedTextImageGenerator not bound -!missing-protocol! CIAztecCodeGenerator not bound -!missing-protocol! CIBarcodeGenerator not bound -!missing-protocol! CIBarsSwipeTransition not bound -!missing-protocol! CIBicubicScaleTransform not bound -!missing-protocol! CIBlendWithMask not bound -!missing-protocol! CIBloom not bound -!missing-protocol! CIBokehBlur not bound -!missing-protocol! CIBoxBlur not bound -!missing-protocol! CICheckerboardGenerator not bound -!missing-protocol! CICircularScreen not bound -!missing-protocol! CICMYKHalftone not bound -!missing-protocol! CICode128BarcodeGenerator not bound -!missing-protocol! CIColorClamp not bound -!missing-protocol! CIColorControls not bound -!missing-protocol! CIColorCrossPolynomial not bound -!missing-protocol! CIColorCube not bound -!missing-protocol! CIColorCubesMixedWithMask not bound -!missing-protocol! CIColorCubeWithColorSpace not bound -!missing-protocol! CIColorCurves not bound -!missing-protocol! CIColorInvert not bound -!missing-protocol! CIColorMap not bound -!missing-protocol! CIColorMatrix not bound -!missing-protocol! CIColorMonochrome not bound -!missing-protocol! CIColorPolynomial not bound -!missing-protocol! CIColorPosterize not bound -!missing-protocol! CIComicEffect not bound -!missing-protocol! CICompositeOperation not bound -!missing-protocol! CIConvolution not bound -!missing-protocol! CICopyMachineTransition not bound -!missing-protocol! CICoreMLModel not bound -!missing-protocol! CICrystallize not bound -!missing-protocol! CIDepthOfField not bound -!missing-protocol! CIDepthToDisparity not bound -!missing-protocol! CIDiscBlur not bound -!missing-protocol! CIDisintegrateWithMaskTransition not bound -!missing-protocol! CIDisparityToDepth not bound -!missing-protocol! CIDissolveTransition not bound -!missing-protocol! CIDither not bound -!missing-protocol! CIDocumentEnhancer not bound -!missing-protocol! CIDotScreen not bound -!missing-protocol! CIEdgePreserveUpsample not bound -!missing-protocol! CIEdges not bound -!missing-protocol! CIEdgeWork not bound -!missing-protocol! CIEightfoldReflectedTile not bound -!missing-protocol! CIExposureAdjust not bound -!missing-protocol! CIFalseColor not bound -!missing-protocol! CIFilter not bound -!missing-protocol! CIFlashTransition not bound -!missing-protocol! CIFourCoordinateGeometryFilter not bound -!missing-protocol! CIFourfoldReflectedTile not bound -!missing-protocol! CIFourfoldRotatedTile not bound -!missing-protocol! CIFourfoldTranslatedTile not bound -!missing-protocol! CIGaborGradients not bound -!missing-protocol! CIGammaAdjust not bound -!missing-protocol! CIGaussianBlur not bound -!missing-protocol! CIGaussianGradient not bound -!missing-protocol! CIGlideReflectedTile not bound -!missing-protocol! CIGloom not bound -!missing-protocol! CIHatchedScreen not bound -!missing-protocol! CIHeightFieldFromMask not bound -!missing-protocol! CIHexagonalPixellate not bound -!missing-protocol! CIHighlightShadowAdjust not bound -!missing-protocol! CIHueAdjust not bound -!missing-protocol! CIHueSaturationValueGradient not bound -!missing-protocol! CIKaleidoscope not bound -!missing-protocol! CIKeystoneCorrectionCombined not bound -!missing-protocol! CIKeystoneCorrectionHorizontal not bound -!missing-protocol! CIKeystoneCorrectionVertical not bound -!missing-protocol! CILabDeltaE not bound -!missing-protocol! CILanczosScaleTransform not bound -!missing-protocol! CILenticularHaloGenerator not bound -!missing-protocol! CILinearGradient not bound -!missing-protocol! CILinearToSRGBToneCurve not bound -!missing-protocol! CILineOverlay not bound -!missing-protocol! CILineScreen not bound -!missing-protocol! CIMaskedVariableBlur not bound -!missing-protocol! CIMaskToAlpha not bound -!missing-protocol! CIMaximumComponent not bound -!missing-protocol! CIMedian not bound -!missing-protocol! CIMeshGenerator not bound -!missing-protocol! CIMinimumComponent not bound -!missing-protocol! CIMix not bound -!missing-protocol! CIModTransition not bound -!missing-protocol! CIMorphologyGradient not bound -!missing-protocol! CIMorphologyMaximum not bound -!missing-protocol! CIMorphologyMinimum not bound -!missing-protocol! CIMorphologyRectangleMaximum not bound -!missing-protocol! CIMorphologyRectangleMinimum not bound -!missing-protocol! CIMotionBlur not bound -!missing-protocol! CINoiseReduction not bound -!missing-protocol! CIOpTile not bound -!missing-protocol! CIPageCurlTransition not bound -!missing-protocol! CIPageCurlWithShadowTransition not bound -!missing-protocol! CIPaletteCentroid not bound -!missing-protocol! CIPalettize not bound -!missing-protocol! CIParallelogramTile not bound -!missing-protocol! CIPDF417BarcodeGenerator not bound -!missing-protocol! CIPerspectiveCorrection not bound -!missing-protocol! CIPerspectiveRotate not bound -!missing-protocol! CIPerspectiveTile not bound -!missing-protocol! CIPerspectiveTransform not bound -!missing-protocol! CIPerspectiveTransformWithExtent not bound -!missing-protocol! CIPhotoEffect not bound -!missing-protocol! CIPixellate not bound -!missing-protocol! CIPointillize not bound -!missing-protocol! CIQRCodeGenerator not bound -!missing-protocol! CIRadialGradient not bound -!missing-protocol! CIRandomGenerator not bound -!missing-protocol! CIRippleTransition not bound -!missing-protocol! CIRoundedRectangleGenerator not bound -!missing-protocol! CISaliencyMap not bound -!missing-protocol! CISepiaTone not bound -!missing-protocol! CIShadedMaterial not bound -!missing-protocol! CISharpenLuminance not bound -!missing-protocol! CISixfoldReflectedTile not bound -!missing-protocol! CISixfoldRotatedTile not bound -!missing-protocol! CISmoothLinearGradient not bound -!missing-protocol! CISpotColor not bound -!missing-protocol! CISpotLight not bound -!missing-protocol! CISRGBToneCurveToLinear not bound -!missing-protocol! CIStarShineGenerator not bound -!missing-protocol! CIStraighten not bound -!missing-protocol! CIStripesGenerator not bound -!missing-protocol! CISunbeamsGenerator not bound -!missing-protocol! CISwipeTransition not bound -!missing-protocol! CITemperatureAndTint not bound -!missing-protocol! CITextImageGenerator not bound -!missing-protocol! CIThermal not bound -!missing-protocol! CIToneCurve not bound -!missing-protocol! CITransitionFilter not bound -!missing-protocol! CITriangleKaleidoscope not bound -!missing-protocol! CITriangleTile not bound -!missing-protocol! CITwelvefoldReflectedTile not bound -!missing-protocol! CIUnsharpMask not bound -!missing-protocol! CIVibrance not bound -!missing-protocol! CIVignette not bound -!missing-protocol! CIVignetteEffect not bound -!missing-protocol! CIWhitePointAdjust not bound -!missing-protocol! CIXRay not bound -!missing-protocol! CIZoomBlur not bound -!missing-selector! +CIFilter::accordionFoldTransitionFilter not bound -!missing-selector! +CIFilter::additionCompositingFilter not bound -!missing-selector! +CIFilter::affineClampFilter not bound -!missing-selector! +CIFilter::affineTileFilter not bound -!missing-selector! +CIFilter::attributedTextImageGeneratorFilter not bound -!missing-selector! +CIFilter::aztecCodeGeneratorFilter not bound -!missing-selector! +CIFilter::barcodeGeneratorFilter not bound -!missing-selector! +CIFilter::barsSwipeTransitionFilter not bound -!missing-selector! +CIFilter::bicubicScaleTransformFilter not bound -!missing-selector! +CIFilter::blendWithAlphaMaskFilter not bound -!missing-selector! +CIFilter::blendWithBlueMaskFilter not bound -!missing-selector! +CIFilter::blendWithMaskFilter not bound -!missing-selector! +CIFilter::blendWithRedMaskFilter not bound -!missing-selector! +CIFilter::bloomFilter not bound -!missing-selector! +CIFilter::bokehBlurFilter not bound -!missing-selector! +CIFilter::boxBlurFilter not bound -!missing-selector! +CIFilter::checkerboardGeneratorFilter not bound -!missing-selector! +CIFilter::circularScreenFilter not bound -!missing-selector! +CIFilter::CMYKHalftone not bound -!missing-selector! +CIFilter::code128BarcodeGeneratorFilter not bound -!missing-selector! +CIFilter::colorBlendModeFilter not bound -!missing-selector! +CIFilter::colorBurnBlendModeFilter not bound -!missing-selector! +CIFilter::colorClampFilter not bound -!missing-selector! +CIFilter::colorControlsFilter not bound -!missing-selector! +CIFilter::colorCrossPolynomialFilter not bound -!missing-selector! +CIFilter::colorCubeFilter not bound -!missing-selector! +CIFilter::colorCubesMixedWithMaskFilter not bound -!missing-selector! +CIFilter::colorCubeWithColorSpaceFilter not bound -!missing-selector! +CIFilter::colorCurvesFilter not bound -!missing-selector! +CIFilter::colorDodgeBlendModeFilter not bound -!missing-selector! +CIFilter::colorInvertFilter not bound -!missing-selector! +CIFilter::colorMapFilter not bound -!missing-selector! +CIFilter::colorMatrixFilter not bound -!missing-selector! +CIFilter::colorMonochromeFilter not bound -!missing-selector! +CIFilter::colorPolynomialFilter not bound -!missing-selector! +CIFilter::colorPosterizeFilter not bound -!missing-selector! +CIFilter::comicEffectFilter not bound -!missing-selector! +CIFilter::convolution3X3Filter not bound -!missing-selector! +CIFilter::convolution5X5Filter not bound -!missing-selector! +CIFilter::convolution7X7Filter not bound -!missing-selector! +CIFilter::convolution9HorizontalFilter not bound -!missing-selector! +CIFilter::convolution9VerticalFilter not bound -!missing-selector! +CIFilter::copyMachineTransitionFilter not bound -!missing-selector! +CIFilter::coreMLModelFilter not bound -!missing-selector! +CIFilter::crystallizeFilter not bound -!missing-selector! +CIFilter::darkenBlendModeFilter not bound -!missing-selector! +CIFilter::depthOfFieldFilter not bound -!missing-selector! +CIFilter::depthToDisparityFilter not bound -!missing-selector! +CIFilter::differenceBlendModeFilter not bound -!missing-selector! +CIFilter::discBlurFilter not bound -!missing-selector! +CIFilter::disintegrateWithMaskTransitionFilter not bound -!missing-selector! +CIFilter::disparityToDepthFilter not bound -!missing-selector! +CIFilter::dissolveTransitionFilter not bound -!missing-selector! +CIFilter::ditherFilter not bound -!missing-selector! +CIFilter::divideBlendModeFilter not bound -!missing-selector! +CIFilter::documentEnhancerFilter not bound -!missing-selector! +CIFilter::dotScreenFilter not bound -!missing-selector! +CIFilter::edgePreserveUpsampleFilter not bound -!missing-selector! +CIFilter::edgesFilter not bound -!missing-selector! +CIFilter::edgeWorkFilter not bound -!missing-selector! +CIFilter::eightfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::exclusionBlendModeFilter not bound -!missing-selector! +CIFilter::exposureAdjustFilter not bound -!missing-selector! +CIFilter::falseColorFilter not bound -!missing-selector! +CIFilter::flashTransitionFilter not bound -!missing-selector! +CIFilter::fourfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::fourfoldRotatedTileFilter not bound -!missing-selector! +CIFilter::fourfoldTranslatedTileFilter not bound -!missing-selector! +CIFilter::gaborGradientsFilter not bound -!missing-selector! +CIFilter::gammaAdjustFilter not bound -!missing-selector! +CIFilter::gaussianBlurFilter not bound -!missing-selector! +CIFilter::gaussianGradientFilter not bound -!missing-selector! +CIFilter::glideReflectedTileFilter not bound -!missing-selector! +CIFilter::gloomFilter not bound -!missing-selector! +CIFilter::hardLightBlendModeFilter not bound -!missing-selector! +CIFilter::hatchedScreenFilter not bound -!missing-selector! +CIFilter::heightFieldFromMaskFilter not bound -!missing-selector! +CIFilter::hexagonalPixellateFilter not bound -!missing-selector! +CIFilter::highlightShadowAdjustFilter not bound -!missing-selector! +CIFilter::hueAdjustFilter not bound -!missing-selector! +CIFilter::hueBlendModeFilter not bound -!missing-selector! +CIFilter::hueSaturationValueGradientFilter not bound -!missing-selector! +CIFilter::kaleidoscopeFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionCombinedFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionHorizontalFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionVerticalFilter not bound -!missing-selector! +CIFilter::LabDeltaE not bound -!missing-selector! +CIFilter::lanczosScaleTransformFilter not bound -!missing-selector! +CIFilter::lenticularHaloGeneratorFilter not bound -!missing-selector! +CIFilter::lightenBlendModeFilter not bound -!missing-selector! +CIFilter::linearBurnBlendModeFilter not bound -!missing-selector! +CIFilter::linearDodgeBlendModeFilter not bound -!missing-selector! +CIFilter::linearGradientFilter not bound -!missing-selector! +CIFilter::linearToSRGBToneCurveFilter not bound -!missing-selector! +CIFilter::lineOverlayFilter not bound -!missing-selector! +CIFilter::lineScreenFilter not bound -!missing-selector! +CIFilter::luminosityBlendModeFilter not bound -!missing-selector! +CIFilter::maskedVariableBlurFilter not bound -!missing-selector! +CIFilter::maskToAlphaFilter not bound -!missing-selector! +CIFilter::maximumComponentFilter not bound -!missing-selector! +CIFilter::maximumCompositingFilter not bound -!missing-selector! +CIFilter::medianFilter not bound -!missing-selector! +CIFilter::meshGeneratorFilter not bound -!missing-selector! +CIFilter::minimumComponentFilter not bound -!missing-selector! +CIFilter::minimumCompositingFilter not bound -!missing-selector! +CIFilter::mixFilter not bound -!missing-selector! +CIFilter::modTransitionFilter not bound -!missing-selector! +CIFilter::morphologyGradientFilter not bound -!missing-selector! +CIFilter::morphologyMaximumFilter not bound -!missing-selector! +CIFilter::morphologyMinimumFilter not bound -!missing-selector! +CIFilter::morphologyRectangleMaximumFilter not bound -!missing-selector! +CIFilter::morphologyRectangleMinimumFilter not bound -!missing-selector! +CIFilter::motionBlurFilter not bound -!missing-selector! +CIFilter::multiplyBlendModeFilter not bound -!missing-selector! +CIFilter::multiplyCompositingFilter not bound -!missing-selector! +CIFilter::noiseReductionFilter not bound -!missing-selector! +CIFilter::opTileFilter not bound -!missing-selector! +CIFilter::overlayBlendModeFilter not bound -!missing-selector! +CIFilter::pageCurlTransitionFilter not bound -!missing-selector! +CIFilter::pageCurlWithShadowTransitionFilter not bound -!missing-selector! +CIFilter::paletteCentroidFilter not bound -!missing-selector! +CIFilter::palettizeFilter not bound -!missing-selector! +CIFilter::parallelogramTileFilter not bound -!missing-selector! +CIFilter::PDF417BarcodeGenerator not bound -!missing-selector! +CIFilter::perspectiveCorrectionFilter not bound -!missing-selector! +CIFilter::perspectiveRotateFilter not bound -!missing-selector! +CIFilter::perspectiveTileFilter not bound -!missing-selector! +CIFilter::perspectiveTransformFilter not bound -!missing-selector! +CIFilter::perspectiveTransformWithExtentFilter not bound -!missing-selector! +CIFilter::photoEffectChromeFilter not bound -!missing-selector! +CIFilter::photoEffectFadeFilter not bound -!missing-selector! +CIFilter::photoEffectInstantFilter not bound -!missing-selector! +CIFilter::photoEffectMonoFilter not bound -!missing-selector! +CIFilter::photoEffectNoirFilter not bound -!missing-selector! +CIFilter::photoEffectProcessFilter not bound -!missing-selector! +CIFilter::photoEffectTonalFilter not bound -!missing-selector! +CIFilter::photoEffectTransferFilter not bound -!missing-selector! +CIFilter::pinLightBlendModeFilter not bound -!missing-selector! +CIFilter::pixellateFilter not bound -!missing-selector! +CIFilter::pointillizeFilter not bound -!missing-selector! +CIFilter::QRCodeGenerator not bound -!missing-selector! +CIFilter::radialGradientFilter not bound -!missing-selector! +CIFilter::randomGeneratorFilter not bound -!missing-selector! +CIFilter::rippleTransitionFilter not bound -!missing-selector! +CIFilter::roundedRectangleGeneratorFilter not bound -!missing-selector! +CIFilter::saliencyMapFilter not bound -!missing-selector! +CIFilter::saturationBlendModeFilter not bound -!missing-selector! +CIFilter::screenBlendModeFilter not bound -!missing-selector! +CIFilter::sepiaToneFilter not bound -!missing-selector! +CIFilter::shadedMaterialFilter not bound -!missing-selector! +CIFilter::sharpenLuminanceFilter not bound -!missing-selector! +CIFilter::sixfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::sixfoldRotatedTileFilter not bound -!missing-selector! +CIFilter::smoothLinearGradientFilter not bound -!missing-selector! +CIFilter::softLightBlendModeFilter not bound -!missing-selector! +CIFilter::sourceAtopCompositingFilter not bound -!missing-selector! +CIFilter::sourceInCompositingFilter not bound -!missing-selector! +CIFilter::sourceOutCompositingFilter not bound -!missing-selector! +CIFilter::sourceOverCompositingFilter not bound -!missing-selector! +CIFilter::spotColorFilter not bound -!missing-selector! +CIFilter::spotLightFilter not bound -!missing-selector! +CIFilter::sRGBToneCurveToLinearFilter not bound -!missing-selector! +CIFilter::starShineGeneratorFilter not bound -!missing-selector! +CIFilter::straightenFilter not bound -!missing-selector! +CIFilter::stripesGeneratorFilter not bound -!missing-selector! +CIFilter::subtractBlendModeFilter not bound -!missing-selector! +CIFilter::sunbeamsGeneratorFilter not bound -!missing-selector! +CIFilter::supportedRawCameraModels not bound -!missing-selector! +CIFilter::swipeTransitionFilter not bound -!missing-selector! +CIFilter::temperatureAndTintFilter not bound -!missing-selector! +CIFilter::textImageGeneratorFilter not bound -!missing-selector! +CIFilter::thermalFilter not bound -!missing-selector! +CIFilter::toneCurveFilter not bound -!missing-selector! +CIFilter::triangleKaleidoscopeFilter not bound -!missing-selector! +CIFilter::triangleTileFilter not bound -!missing-selector! +CIFilter::twelvefoldReflectedTileFilter not bound -!missing-selector! +CIFilter::unsharpMaskFilter not bound -!missing-selector! +CIFilter::vibranceFilter not bound -!missing-selector! +CIFilter::vignetteEffectFilter not bound -!missing-selector! +CIFilter::vignetteFilter not bound -!missing-selector! +CIFilter::whitePointAdjustFilter not bound -!missing-selector! +CIFilter::xRayFilter not bound -!missing-selector! +CIFilter::zoomBlurFilter not bound -!missing-selector! +CIImage::blackImage not bound -!missing-selector! +CIImage::blueImage not bound -!missing-selector! +CIImage::clearImage not bound -!missing-selector! +CIImage::cyanImage not bound -!missing-selector! +CIImage::grayImage not bound -!missing-selector! +CIImage::greenImage not bound -!missing-selector! +CIImage::imageWithCGImageSource:index:options: not bound -!missing-selector! +CIImage::imageWithSemanticSegmentationMatte: not bound -!missing-selector! +CIImage::imageWithSemanticSegmentationMatte:options: not bound -!missing-selector! +CIImage::magentaImage not bound -!missing-selector! +CIImage::redImage not bound -!missing-selector! +CIImage::whiteImage not bound -!missing-selector! +CIImage::yellowImage not bound -!missing-selector! +CIPlugIn::loadNonExecutablePlugIn: not bound -!missing-selector! CIBlendKernel::applyWithForeground:background:colorSpace: not bound -!missing-selector! CIContext::depthBlurEffectFilterForImage:disparityImage:portraitEffectsMatte:hairSemanticSegmentation:orientation:options: not bound -!missing-selector! CIImage::imageByApplyingTransform:highQualityDownsample: not bound -!missing-selector! CIImage::initWithCGImageSource:index:options: not bound -!missing-selector! CIImage::initWithSemanticSegmentationMatte: not bound -!missing-selector! CIImage::initWithSemanticSegmentationMatte:options: not bound -!missing-selector! CIImage::semanticSegmentationMatte not bound -!missing-selector! +CIContext::contextWithMTLCommandQueue: not bound -!missing-selector! +CIContext::contextWithMTLCommandQueue:options: not bound diff --git a/tests/xtro-sharpie/tvOS-CoreImage.todo b/tests/xtro-sharpie/tvOS-CoreImage.todo deleted file mode 100644 index 009771440a13..000000000000 --- a/tests/xtro-sharpie/tvOS-CoreImage.todo +++ /dev/null @@ -1,358 +0,0 @@ -!missing-field! kCIContextAllowLowPower not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationHairMatte not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationSkinMatte not bound -!missing-field! kCIImageAuxiliarySemanticSegmentationTeethMatte not bound -!missing-field! kCIImageRepresentationAVSemanticSegmentationMattes not bound -!missing-field! kCIImageRepresentationSemanticSegmentationHairMatteImage not bound -!missing-field! kCIImageRepresentationSemanticSegmentationSkinMatteImage not bound -!missing-field! kCIImageRepresentationSemanticSegmentationTeethMatteImage not bound -!missing-field! kCIInputEnableEDRModeKey not bound -!missing-protocol! CIAccordionFoldTransition not bound -!missing-protocol! CIAffineClamp not bound -!missing-protocol! CIAffineTile not bound -!missing-protocol! CIAttributedTextImageGenerator not bound -!missing-protocol! CIAztecCodeGenerator not bound -!missing-protocol! CIBarcodeGenerator not bound -!missing-protocol! CIBarsSwipeTransition not bound -!missing-protocol! CIBicubicScaleTransform not bound -!missing-protocol! CIBlendWithMask not bound -!missing-protocol! CIBloom not bound -!missing-protocol! CIBokehBlur not bound -!missing-protocol! CIBoxBlur not bound -!missing-protocol! CICheckerboardGenerator not bound -!missing-protocol! CICircularScreen not bound -!missing-protocol! CICMYKHalftone not bound -!missing-protocol! CICode128BarcodeGenerator not bound -!missing-protocol! CIColorClamp not bound -!missing-protocol! CIColorControls not bound -!missing-protocol! CIColorCrossPolynomial not bound -!missing-protocol! CIColorCube not bound -!missing-protocol! CIColorCubesMixedWithMask not bound -!missing-protocol! CIColorCubeWithColorSpace not bound -!missing-protocol! CIColorCurves not bound -!missing-protocol! CIColorInvert not bound -!missing-protocol! CIColorMap not bound -!missing-protocol! CIColorMatrix not bound -!missing-protocol! CIColorMonochrome not bound -!missing-protocol! CIColorPolynomial not bound -!missing-protocol! CIColorPosterize not bound -!missing-protocol! CIComicEffect not bound -!missing-protocol! CICompositeOperation not bound -!missing-protocol! CIConvolution not bound -!missing-protocol! CICopyMachineTransition not bound -!missing-protocol! CICoreMLModel not bound -!missing-protocol! CICrystallize not bound -!missing-protocol! CIDepthOfField not bound -!missing-protocol! CIDepthToDisparity not bound -!missing-protocol! CIDiscBlur not bound -!missing-protocol! CIDisintegrateWithMaskTransition not bound -!missing-protocol! CIDisparityToDepth not bound -!missing-protocol! CIDissolveTransition not bound -!missing-protocol! CIDither not bound -!missing-protocol! CIDocumentEnhancer not bound -!missing-protocol! CIDotScreen not bound -!missing-protocol! CIEdgePreserveUpsample not bound -!missing-protocol! CIEdges not bound -!missing-protocol! CIEdgeWork not bound -!missing-protocol! CIEightfoldReflectedTile not bound -!missing-protocol! CIExposureAdjust not bound -!missing-protocol! CIFalseColor not bound -!missing-protocol! CIFilter not bound -!missing-protocol! CIFlashTransition not bound -!missing-protocol! CIFourCoordinateGeometryFilter not bound -!missing-protocol! CIFourfoldReflectedTile not bound -!missing-protocol! CIFourfoldRotatedTile not bound -!missing-protocol! CIFourfoldTranslatedTile not bound -!missing-protocol! CIGaborGradients not bound -!missing-protocol! CIGammaAdjust not bound -!missing-protocol! CIGaussianBlur not bound -!missing-protocol! CIGaussianGradient not bound -!missing-protocol! CIGlideReflectedTile not bound -!missing-protocol! CIGloom not bound -!missing-protocol! CIHatchedScreen not bound -!missing-protocol! CIHeightFieldFromMask not bound -!missing-protocol! CIHexagonalPixellate not bound -!missing-protocol! CIHighlightShadowAdjust not bound -!missing-protocol! CIHueAdjust not bound -!missing-protocol! CIHueSaturationValueGradient not bound -!missing-protocol! CIKaleidoscope not bound -!missing-protocol! CIKeystoneCorrectionCombined not bound -!missing-protocol! CIKeystoneCorrectionHorizontal not bound -!missing-protocol! CIKeystoneCorrectionVertical not bound -!missing-protocol! CILabDeltaE not bound -!missing-protocol! CILanczosScaleTransform not bound -!missing-protocol! CILenticularHaloGenerator not bound -!missing-protocol! CILinearGradient not bound -!missing-protocol! CILinearToSRGBToneCurve not bound -!missing-protocol! CILineOverlay not bound -!missing-protocol! CILineScreen not bound -!missing-protocol! CIMaskedVariableBlur not bound -!missing-protocol! CIMaskToAlpha not bound -!missing-protocol! CIMaximumComponent not bound -!missing-protocol! CIMedian not bound -!missing-protocol! CIMeshGenerator not bound -!missing-protocol! CIMinimumComponent not bound -!missing-protocol! CIMix not bound -!missing-protocol! CIModTransition not bound -!missing-protocol! CIMorphologyGradient not bound -!missing-protocol! CIMorphologyMaximum not bound -!missing-protocol! CIMorphologyMinimum not bound -!missing-protocol! CIMorphologyRectangleMaximum not bound -!missing-protocol! CIMorphologyRectangleMinimum not bound -!missing-protocol! CIMotionBlur not bound -!missing-protocol! CINoiseReduction not bound -!missing-protocol! CIOpTile not bound -!missing-protocol! CIPageCurlTransition not bound -!missing-protocol! CIPageCurlWithShadowTransition not bound -!missing-protocol! CIPaletteCentroid not bound -!missing-protocol! CIPalettize not bound -!missing-protocol! CIParallelogramTile not bound -!missing-protocol! CIPDF417BarcodeGenerator not bound -!missing-protocol! CIPerspectiveCorrection not bound -!missing-protocol! CIPerspectiveRotate not bound -!missing-protocol! CIPerspectiveTile not bound -!missing-protocol! CIPerspectiveTransform not bound -!missing-protocol! CIPerspectiveTransformWithExtent not bound -!missing-protocol! CIPhotoEffect not bound -!missing-protocol! CIPixellate not bound -!missing-protocol! CIPointillize not bound -!missing-protocol! CIQRCodeGenerator not bound -!missing-protocol! CIRadialGradient not bound -!missing-protocol! CIRandomGenerator not bound -!missing-protocol! CIRippleTransition not bound -!missing-protocol! CIRoundedRectangleGenerator not bound -!missing-protocol! CISaliencyMap not bound -!missing-protocol! CISepiaTone not bound -!missing-protocol! CIShadedMaterial not bound -!missing-protocol! CISharpenLuminance not bound -!missing-protocol! CISixfoldReflectedTile not bound -!missing-protocol! CISixfoldRotatedTile not bound -!missing-protocol! CISmoothLinearGradient not bound -!missing-protocol! CISpotColor not bound -!missing-protocol! CISpotLight not bound -!missing-protocol! CISRGBToneCurveToLinear not bound -!missing-protocol! CIStarShineGenerator not bound -!missing-protocol! CIStraighten not bound -!missing-protocol! CIStripesGenerator not bound -!missing-protocol! CISunbeamsGenerator not bound -!missing-protocol! CISwipeTransition not bound -!missing-protocol! CITemperatureAndTint not bound -!missing-protocol! CITextImageGenerator not bound -!missing-protocol! CIThermal not bound -!missing-protocol! CIToneCurve not bound -!missing-protocol! CITransitionFilter not bound -!missing-protocol! CITriangleKaleidoscope not bound -!missing-protocol! CITriangleTile not bound -!missing-protocol! CITwelvefoldReflectedTile not bound -!missing-protocol! CIUnsharpMask not bound -!missing-protocol! CIVibrance not bound -!missing-protocol! CIVignette not bound -!missing-protocol! CIVignetteEffect not bound -!missing-protocol! CIWhitePointAdjust not bound -!missing-protocol! CIXRay not bound -!missing-protocol! CIZoomBlur not bound -!missing-selector! +CIFilter::accordionFoldTransitionFilter not bound -!missing-selector! +CIFilter::additionCompositingFilter not bound -!missing-selector! +CIFilter::affineClampFilter not bound -!missing-selector! +CIFilter::affineTileFilter not bound -!missing-selector! +CIFilter::attributedTextImageGeneratorFilter not bound -!missing-selector! +CIFilter::aztecCodeGeneratorFilter not bound -!missing-selector! +CIFilter::barcodeGeneratorFilter not bound -!missing-selector! +CIFilter::barsSwipeTransitionFilter not bound -!missing-selector! +CIFilter::bicubicScaleTransformFilter not bound -!missing-selector! +CIFilter::blendWithAlphaMaskFilter not bound -!missing-selector! +CIFilter::blendWithBlueMaskFilter not bound -!missing-selector! +CIFilter::blendWithMaskFilter not bound -!missing-selector! +CIFilter::blendWithRedMaskFilter not bound -!missing-selector! +CIFilter::bloomFilter not bound -!missing-selector! +CIFilter::bokehBlurFilter not bound -!missing-selector! +CIFilter::boxBlurFilter not bound -!missing-selector! +CIFilter::checkerboardGeneratorFilter not bound -!missing-selector! +CIFilter::circularScreenFilter not bound -!missing-selector! +CIFilter::CMYKHalftone not bound -!missing-selector! +CIFilter::code128BarcodeGeneratorFilter not bound -!missing-selector! +CIFilter::colorBlendModeFilter not bound -!missing-selector! +CIFilter::colorBurnBlendModeFilter not bound -!missing-selector! +CIFilter::colorClampFilter not bound -!missing-selector! +CIFilter::colorControlsFilter not bound -!missing-selector! +CIFilter::colorCrossPolynomialFilter not bound -!missing-selector! +CIFilter::colorCubeFilter not bound -!missing-selector! +CIFilter::colorCubesMixedWithMaskFilter not bound -!missing-selector! +CIFilter::colorCubeWithColorSpaceFilter not bound -!missing-selector! +CIFilter::colorCurvesFilter not bound -!missing-selector! +CIFilter::colorDodgeBlendModeFilter not bound -!missing-selector! +CIFilter::colorInvertFilter not bound -!missing-selector! +CIFilter::colorMapFilter not bound -!missing-selector! +CIFilter::colorMatrixFilter not bound -!missing-selector! +CIFilter::colorMonochromeFilter not bound -!missing-selector! +CIFilter::colorPolynomialFilter not bound -!missing-selector! +CIFilter::colorPosterizeFilter not bound -!missing-selector! +CIFilter::comicEffectFilter not bound -!missing-selector! +CIFilter::convolution3X3Filter not bound -!missing-selector! +CIFilter::convolution5X5Filter not bound -!missing-selector! +CIFilter::convolution7X7Filter not bound -!missing-selector! +CIFilter::convolution9HorizontalFilter not bound -!missing-selector! +CIFilter::convolution9VerticalFilter not bound -!missing-selector! +CIFilter::copyMachineTransitionFilter not bound -!missing-selector! +CIFilter::coreMLModelFilter not bound -!missing-selector! +CIFilter::crystallizeFilter not bound -!missing-selector! +CIFilter::darkenBlendModeFilter not bound -!missing-selector! +CIFilter::depthOfFieldFilter not bound -!missing-selector! +CIFilter::depthToDisparityFilter not bound -!missing-selector! +CIFilter::differenceBlendModeFilter not bound -!missing-selector! +CIFilter::discBlurFilter not bound -!missing-selector! +CIFilter::disintegrateWithMaskTransitionFilter not bound -!missing-selector! +CIFilter::disparityToDepthFilter not bound -!missing-selector! +CIFilter::dissolveTransitionFilter not bound -!missing-selector! +CIFilter::ditherFilter not bound -!missing-selector! +CIFilter::divideBlendModeFilter not bound -!missing-selector! +CIFilter::documentEnhancerFilter not bound -!missing-selector! +CIFilter::dotScreenFilter not bound -!missing-selector! +CIFilter::edgePreserveUpsampleFilter not bound -!missing-selector! +CIFilter::edgesFilter not bound -!missing-selector! +CIFilter::edgeWorkFilter not bound -!missing-selector! +CIFilter::eightfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::exclusionBlendModeFilter not bound -!missing-selector! +CIFilter::exposureAdjustFilter not bound -!missing-selector! +CIFilter::falseColorFilter not bound -!missing-selector! +CIFilter::flashTransitionFilter not bound -!missing-selector! +CIFilter::fourfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::fourfoldRotatedTileFilter not bound -!missing-selector! +CIFilter::fourfoldTranslatedTileFilter not bound -!missing-selector! +CIFilter::gaborGradientsFilter not bound -!missing-selector! +CIFilter::gammaAdjustFilter not bound -!missing-selector! +CIFilter::gaussianBlurFilter not bound -!missing-selector! +CIFilter::gaussianGradientFilter not bound -!missing-selector! +CIFilter::glideReflectedTileFilter not bound -!missing-selector! +CIFilter::gloomFilter not bound -!missing-selector! +CIFilter::hardLightBlendModeFilter not bound -!missing-selector! +CIFilter::hatchedScreenFilter not bound -!missing-selector! +CIFilter::heightFieldFromMaskFilter not bound -!missing-selector! +CIFilter::hexagonalPixellateFilter not bound -!missing-selector! +CIFilter::highlightShadowAdjustFilter not bound -!missing-selector! +CIFilter::hueAdjustFilter not bound -!missing-selector! +CIFilter::hueBlendModeFilter not bound -!missing-selector! +CIFilter::hueSaturationValueGradientFilter not bound -!missing-selector! +CIFilter::kaleidoscopeFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionCombinedFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionHorizontalFilter not bound -!missing-selector! +CIFilter::keystoneCorrectionVerticalFilter not bound -!missing-selector! +CIFilter::LabDeltaE not bound -!missing-selector! +CIFilter::lanczosScaleTransformFilter not bound -!missing-selector! +CIFilter::lenticularHaloGeneratorFilter not bound -!missing-selector! +CIFilter::lightenBlendModeFilter not bound -!missing-selector! +CIFilter::linearBurnBlendModeFilter not bound -!missing-selector! +CIFilter::linearDodgeBlendModeFilter not bound -!missing-selector! +CIFilter::linearGradientFilter not bound -!missing-selector! +CIFilter::linearToSRGBToneCurveFilter not bound -!missing-selector! +CIFilter::lineOverlayFilter not bound -!missing-selector! +CIFilter::lineScreenFilter not bound -!missing-selector! +CIFilter::luminosityBlendModeFilter not bound -!missing-selector! +CIFilter::maskedVariableBlurFilter not bound -!missing-selector! +CIFilter::maskToAlphaFilter not bound -!missing-selector! +CIFilter::maximumComponentFilter not bound -!missing-selector! +CIFilter::maximumCompositingFilter not bound -!missing-selector! +CIFilter::medianFilter not bound -!missing-selector! +CIFilter::meshGeneratorFilter not bound -!missing-selector! +CIFilter::minimumComponentFilter not bound -!missing-selector! +CIFilter::minimumCompositingFilter not bound -!missing-selector! +CIFilter::mixFilter not bound -!missing-selector! +CIFilter::modTransitionFilter not bound -!missing-selector! +CIFilter::morphologyGradientFilter not bound -!missing-selector! +CIFilter::morphologyMaximumFilter not bound -!missing-selector! +CIFilter::morphologyMinimumFilter not bound -!missing-selector! +CIFilter::morphologyRectangleMaximumFilter not bound -!missing-selector! +CIFilter::morphologyRectangleMinimumFilter not bound -!missing-selector! +CIFilter::motionBlurFilter not bound -!missing-selector! +CIFilter::multiplyBlendModeFilter not bound -!missing-selector! +CIFilter::multiplyCompositingFilter not bound -!missing-selector! +CIFilter::noiseReductionFilter not bound -!missing-selector! +CIFilter::opTileFilter not bound -!missing-selector! +CIFilter::overlayBlendModeFilter not bound -!missing-selector! +CIFilter::pageCurlTransitionFilter not bound -!missing-selector! +CIFilter::pageCurlWithShadowTransitionFilter not bound -!missing-selector! +CIFilter::paletteCentroidFilter not bound -!missing-selector! +CIFilter::palettizeFilter not bound -!missing-selector! +CIFilter::parallelogramTileFilter not bound -!missing-selector! +CIFilter::PDF417BarcodeGenerator not bound -!missing-selector! +CIFilter::perspectiveCorrectionFilter not bound -!missing-selector! +CIFilter::perspectiveRotateFilter not bound -!missing-selector! +CIFilter::perspectiveTileFilter not bound -!missing-selector! +CIFilter::perspectiveTransformFilter not bound -!missing-selector! +CIFilter::perspectiveTransformWithExtentFilter not bound -!missing-selector! +CIFilter::photoEffectChromeFilter not bound -!missing-selector! +CIFilter::photoEffectFadeFilter not bound -!missing-selector! +CIFilter::photoEffectInstantFilter not bound -!missing-selector! +CIFilter::photoEffectMonoFilter not bound -!missing-selector! +CIFilter::photoEffectNoirFilter not bound -!missing-selector! +CIFilter::photoEffectProcessFilter not bound -!missing-selector! +CIFilter::photoEffectTonalFilter not bound -!missing-selector! +CIFilter::photoEffectTransferFilter not bound -!missing-selector! +CIFilter::pinLightBlendModeFilter not bound -!missing-selector! +CIFilter::pixellateFilter not bound -!missing-selector! +CIFilter::pointillizeFilter not bound -!missing-selector! +CIFilter::QRCodeGenerator not bound -!missing-selector! +CIFilter::radialGradientFilter not bound -!missing-selector! +CIFilter::randomGeneratorFilter not bound -!missing-selector! +CIFilter::rippleTransitionFilter not bound -!missing-selector! +CIFilter::roundedRectangleGeneratorFilter not bound -!missing-selector! +CIFilter::saliencyMapFilter not bound -!missing-selector! +CIFilter::saturationBlendModeFilter not bound -!missing-selector! +CIFilter::screenBlendModeFilter not bound -!missing-selector! +CIFilter::sepiaToneFilter not bound -!missing-selector! +CIFilter::shadedMaterialFilter not bound -!missing-selector! +CIFilter::sharpenLuminanceFilter not bound -!missing-selector! +CIFilter::sixfoldReflectedTileFilter not bound -!missing-selector! +CIFilter::sixfoldRotatedTileFilter not bound -!missing-selector! +CIFilter::smoothLinearGradientFilter not bound -!missing-selector! +CIFilter::softLightBlendModeFilter not bound -!missing-selector! +CIFilter::sourceAtopCompositingFilter not bound -!missing-selector! +CIFilter::sourceInCompositingFilter not bound -!missing-selector! +CIFilter::sourceOutCompositingFilter not bound -!missing-selector! +CIFilter::sourceOverCompositingFilter not bound -!missing-selector! +CIFilter::spotColorFilter not bound -!missing-selector! +CIFilter::spotLightFilter not bound -!missing-selector! +CIFilter::sRGBToneCurveToLinearFilter not bound -!missing-selector! +CIFilter::starShineGeneratorFilter not bound -!missing-selector! +CIFilter::straightenFilter not bound -!missing-selector! +CIFilter::stripesGeneratorFilter not bound -!missing-selector! +CIFilter::subtractBlendModeFilter not bound -!missing-selector! +CIFilter::sunbeamsGeneratorFilter not bound -!missing-selector! +CIFilter::supportedRawCameraModels not bound -!missing-selector! +CIFilter::swipeTransitionFilter not bound -!missing-selector! +CIFilter::temperatureAndTintFilter not bound -!missing-selector! +CIFilter::textImageGeneratorFilter not bound -!missing-selector! +CIFilter::thermalFilter not bound -!missing-selector! +CIFilter::toneCurveFilter not bound -!missing-selector! +CIFilter::triangleKaleidoscopeFilter not bound -!missing-selector! +CIFilter::triangleTileFilter not bound -!missing-selector! +CIFilter::twelvefoldReflectedTileFilter not bound -!missing-selector! +CIFilter::unsharpMaskFilter not bound -!missing-selector! +CIFilter::vibranceFilter not bound -!missing-selector! +CIFilter::vignetteEffectFilter not bound -!missing-selector! +CIFilter::vignetteFilter not bound -!missing-selector! +CIFilter::whitePointAdjustFilter not bound -!missing-selector! +CIFilter::xRayFilter not bound -!missing-selector! +CIFilter::zoomBlurFilter not bound -!missing-selector! +CIImage::blackImage not bound -!missing-selector! +CIImage::blueImage not bound -!missing-selector! +CIImage::clearImage not bound -!missing-selector! +CIImage::cyanImage not bound -!missing-selector! +CIImage::grayImage not bound -!missing-selector! +CIImage::greenImage not bound -!missing-selector! +CIImage::imageWithCGImageSource:index:options: not bound -!missing-selector! +CIImage::imageWithSemanticSegmentationMatte: not bound -!missing-selector! +CIImage::imageWithSemanticSegmentationMatte:options: not bound -!missing-selector! +CIImage::magentaImage not bound -!missing-selector! +CIImage::redImage not bound -!missing-selector! +CIImage::whiteImage not bound -!missing-selector! +CIImage::yellowImage not bound -!missing-selector! CIBlendKernel::applyWithForeground:background:colorSpace: not bound -!missing-selector! CIContext::depthBlurEffectFilterForImage:disparityImage:portraitEffectsMatte:hairSemanticSegmentation:orientation:options: not bound -!missing-selector! CIImage::imageByApplyingTransform:highQualityDownsample: not bound -!missing-selector! CIImage::initWithCGImageSource:index:options: not bound -!missing-selector! CIImage::initWithSemanticSegmentationMatte: not bound -!missing-selector! CIImage::initWithSemanticSegmentationMatte:options: not bound -!missing-selector! CIImage::semanticSegmentationMatte not bound -!missing-selector! +CIContext::contextWithMTLCommandQueue: not bound -!missing-selector! +CIContext::contextWithMTLCommandQueue:options: not bound diff --git a/tools/common/StaticRegistrar.cs b/tools/common/StaticRegistrar.cs index e52cff0847a4..5d02eccaebd0 100644 --- a/tools/common/StaticRegistrar.cs +++ b/tools/common/StaticRegistrar.cs @@ -2129,9 +2129,6 @@ void CheckNamespace (string ns, List exceptions) header.WriteLine ("#import "); header.WriteLine ("#import "); return; - case "CoreImage": - h = ""; - break; case "PdfKit": case "ImageKit": case "QuartzComposer": @@ -2192,6 +2189,10 @@ void CheckNamespace (string ns, List exceptions) case "IOSurface": // There is no IOSurface.h h = ""; break; + case "CoreImage": + header.WriteLine ("#import "); + header.WriteLine ("#import "); + return; default: h = string.Format ("<{0}/{0}.h>", ns); break;