From 1af26749ac33013d9ad95901e0421d2bbe1c9362 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Thu, 10 Oct 2019 15:28:59 -0400 Subject: [PATCH 01/11] [coreimage] Update for Xcode 11[.2] Apple decided to expose most (but not all) `CIFilter` using protocols (instead of weakly named dictionaries). Most of this maps well with our strong bindings but there are cases where we: * missing some properties (easy, there were added); or * used a different types [1] and that requires new members / obsoletion [1] Often ours are better (using `float` for a `bool` value is not optimal) but we do not have `[BindAs]` for protocols :( to _fix_ them Note: this replace draft PR https://github.com/xamarin/xamarin-macios/pull/7120 but it's has quite a bit of changes in filter generation (inlining protocols) and that affected bindings too. --- src/CoreImage/CIContext.cs | 10 + src/CoreImage/CIFilter.cs | 76 +- src/ImageIO/CGImageSource.cs | 11 +- src/coreimage.cs | 4709 ++++++++++++++--- src/frameworks.sources | 4 +- src/generator-filters.cs | 137 +- src/generator-typemanager.cs | 2 + src/generator.cs | 13 +- .../introspection/ApiCoreImageFiltersTest.cs | 295 ++ tests/xtro-sharpie/common-CoreImage.ignore | 196 + tests/xtro-sharpie/iOS-CoreImage.todo | 358 -- tests/xtro-sharpie/macOS-CoreImage.todo | 360 -- tests/xtro-sharpie/tvOS-CoreImage.todo | 358 -- tools/common/StaticRegistrar.cs | 7 +- 14 files changed, 4599 insertions(+), 1937 deletions(-) delete mode 100644 tests/xtro-sharpie/iOS-CoreImage.todo delete mode 100644 tests/xtro-sharpie/macOS-CoreImage.todo delete mode 100644 tests/xtro-sharpie/tvOS-CoreImage.todo 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..0340ed5ad55b 100644 --- a/src/CoreImage/CIFilter.cs +++ b/src/CoreImage/CIFilter.cs @@ -173,12 +173,34 @@ 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 void SetValue (string key, CGPoint value) + { + using (var nskey = new NSString (key)) + using (var nsv = new CIVector (value.X, value.Y)) { + SetValueForKey (nsv, nskey); + } + } + + internal void SetValue (string key, CGRect value) + { + using (var nskey = new NSString (key)) + using (var nsv = new CIVector (value.X, value.Y, value.Width, value.Height)) { + SetValueForKey (nsv, nskey); + } + } + internal float GetFloat (string key) { using (var nskey = new NSString (key)){ @@ -199,6 +221,16 @@ internal int GetInt (string key) } } + internal nint GetNInt (string key) + { + using (var nskey = new NSString (key)){ + var v = ValueForKey (nskey); + if (v is NSNumber) + return (v as NSNumber).NIntValue; + return 0; + } + } + internal bool GetBool (string key) { using (var nskey = new NSString (key)){ @@ -237,31 +269,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 = ValueForKey (key) as CIVector; + return new CGPoint (v.X, v.Y); } - 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 = ValueForKey (key) as CIVector; + return new CGRect (v.X, v.Y, v.Z, v.W); } #if MONOMAC @@ -673,29 +690,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..b598a491a786 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)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("contextWithMTLCommandQueue:")] + CIContext Create (IMTLCommandQueue commandQueue); + + [iOS (13,0)][TV (13,0)][Watch (6,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)][Watch (6,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; } @@ -1147,7 +1171,6 @@ interface ICIFilterConstructor {} [Protocol] interface CIFilterConstructor { - // @required -(CIFilter * __nullable)filterWithName:(NSString * __nonnull)name; [Abstract] [Export ("filterWithName:")] [return: NullAllowed] @@ -1328,6 +1351,18 @@ interface CIImageInitializationOptionsKeys { [TV (12, 0), iOS (12, 0), Mac (10, 14)] [Field ("kCIImageAuxiliaryPortraitEffectsMatte")] NSString AuxiliaryPortraitEffectsMatteKey { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Field ("kCIImageAuxiliarySemanticSegmentationSkinMatte")] + NSString AuxiliarySemanticSegmentationSkinMatteKey { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Field ("kCIImageAuxiliarySemanticSegmentationHairMatte")] + NSString AuxiliarySemanticSegmentationHairMatteKey { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Field ("kCIImageAuxiliarySemanticSegmentationTeethMatte")] + NSString AuxiliarySemanticSegmentationTeethMatteKey { get; } } [BaseType (typeof (NSObject))] @@ -1346,6 +1381,17 @@ interface CIImage : NSSecureCoding, NSCopying { [Wrap ("FromCGImage (image, options == null ? null : options.Dictionary)")] CIImage FromCGImage (CGImage image, [NullAllowed] CIImageInitializationOptionsWithMetadata options); + [iOS (13,0)][TV (13,0)][Watch (6,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)][Watch (6,0)][Mac (10,15)] + [Static] + [Wrap ("FromCGImageSource (source, index, options == null ? null : options.Dictionary)")] + CIImage FromCGImageSource (CGImageSource source, nuint index, [NullAllowed] CIImageInitializationOptionsWithMetadata options); + #if MONOMAC [Deprecated (PlatformName.MacOSX, 10, 11)] [Static] @@ -1483,6 +1529,15 @@ interface CIImage : NSSecureCoding, NSCopying { [Wrap ("this (image, options == null ? null : options.Dictionary)")] IntPtr Constructor (CGImage image, [NullAllowed] CIImageInitializationOptionsWithMetadata options); + [iOS (13,0)][TV (13,0)][Watch (6,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)][Watch (6,0)][Mac (10,15)] + [Wrap ("this (source, index, options == null ? null : options.Dictionary)")] + IntPtr Constructor (CGImageSource source, nuint index, CIImageInitializationOptionsWithMetadata options); + #if MONOMAC [Deprecated (PlatformName.MacOSX, 10, 11, message: "Use 'CIImage (CGImage)' instead.")] [Export ("initWithCGLayer:")] @@ -1601,6 +1656,10 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("imageByApplyingTransform:")] CIImage ImageByApplyingTransform (CGAffineTransform matrix); + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Export ("imageByApplyingTransform:highQualityDownsample:")] + CIImage ImageByApplyingTransform (CGAffineTransform matrix, bool highQualityDownsample); + [Export ("imageByCroppingToRect:")] CIImage ImageByCroppingToRect (CGRect r); @@ -1927,6 +1986,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 +2033,58 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("imageWithDepthData:")] [return: NullAllowed] CIImage FromDepthData (AVDepthData data); + + // colors + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("blackImage", ArgumentSemantic.Strong)] + CIImage BlackImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("whiteImage", ArgumentSemantic.Strong)] + CIImage WhiteImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("grayImage", ArgumentSemantic.Strong)] + CIImage GrayImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("redImage", ArgumentSemantic.Strong)] + CIImage RedImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("greenImage", ArgumentSemantic.Strong)] + CIImage GreenImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("blueImage", ArgumentSemantic.Strong)] + CIImage BlueImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("cyanImage", ArgumentSemantic.Strong)] + CIImage CyanImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("magentaImage", ArgumentSemantic.Strong)] + CIImage MagentaImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("yellowImage", ArgumentSemantic.Strong)] + CIImage YellowImage { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Static] + [Export ("clearImage", ArgumentSemantic.Strong)] + CIImage ClearImage { get; } } interface ICIImageProcessorInput {} @@ -2205,6 +2342,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 +2351,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 +2788,13 @@ interface CIImageProcessorKernel { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CIAccordionFoldTransition { + interface CIAccordionFoldTransition : ICIAccordionFoldTransitionProtocol { +#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 +2802,9 @@ interface CIAccordionFoldTransition { [BaseType (typeof (CIFilter))] interface CICompositingFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputBackgroundImage")] CIImage BackgroundImage { get; set; } } @@ -2680,32 +2817,44 @@ interface CIAdditionCompositing { [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic [Abstract] [BaseType (typeof (CIFilter))] - interface CIAffineFilter { + interface CIAffineFilter : ICIFilterProtocol { +#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 : ICIAffineClampProtocol { } [CoreImageFilter] [BaseType (typeof (CIAffineFilter))] - interface CIAffineTile { + interface CIAffineTile : ICIAffineTileProtocol { } [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; } } [CoreImageFilter] @@ -2713,6 +2862,9 @@ interface CIAreaAverage { [BaseType (typeof (CIFilter))] interface CIAreaHistogram { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputCount")] float Count { get; set; } @@ -2721,6 +2873,12 @@ interface CIAreaHistogram { [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } + + [CoreImageFilterProperty ("outputImageNonMPS")] + CIImage OutputImageNonMps { get; } + + [CoreImageFilterProperty ("outputData")] + NSData OutputData { get; } } [CoreImageFilter] @@ -2728,6 +2886,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 +2930,26 @@ interface CICodeGenerator { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CICodeGenerator))] - interface CIAztecCodeGenerator { + interface CIAztecCodeGenerator : ICIAztecCodeGeneratorProtocol { +#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 : ICITransitionFilterProtocol { } [CoreImageFilter] @@ -2815,31 +2975,25 @@ interface CIBlendWithAlphaMask { [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIBlendFilter))] - interface CIBlendWithMask { + interface CIBlendWithMask : ICIBlendWithMaskProtocol { +#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 : ICIBloomProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIBoxBlur { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIBoxBlur : ICIBoxBlurProtocol { } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -2847,6 +3001,9 @@ interface CIBoxBlur { [BaseType (typeof (CIFilter))] interface CIDistortionFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRadius")] float Radius { get; set; } @@ -2875,22 +3032,13 @@ interface CIBumpDistortionLinear { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CICheckerboardGenerator { - - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - - [CoreImageFilterProperty ("inputSharpness")] - float Sharpness { get; set; } + interface CICheckerboardGenerator : ICICheckerboardGeneratorProtocol { +#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 +3054,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 +3069,7 @@ interface CIScreenFilter { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CICircularScreen { + interface CICircularScreen : ICICircularScreenProtocol { } [CoreImageFilter] @@ -2923,6 +3077,9 @@ interface CICircularScreen { [BaseType (typeof (CIFilter))] interface CICircularWrap { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRadius")] float Radius { get; set; } @@ -2936,37 +3093,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 : ICICmykHalftoneProtocol { +#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 : ICICode128BarcodeGeneratorProtocol { - [CoreImageFilterProperty ("inputQuietSpace")] - float QuietSpace { get; set; } + [CoreImageFilterProperty ("outputCGImage")] + CIImage OutputCGImage { get; } } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -2974,6 +3122,9 @@ interface CICode128BarcodeGenerator { [BaseType (typeof (CIFilter))] interface CIBlendFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputBackgroundImage")] CIImage BackgroundImage { get; set; } } @@ -2992,66 +3143,43 @@ interface CIColorBurnBlendMode { [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIColorClamp { + interface CIColorClamp : ICIColorClampProtocol { +#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 : ICIColorControlsProtocol { } [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 : ICIColorCrossPolynomialProtocol { } [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 : ICIColorCubeProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIColorCube))] - interface CIColorCubeWithColorSpace { - - [CoreImageFilterProperty ("inputColorSpace")] - CGColorSpace ColorSpace { get; set; } + interface CIColorCubeWithColorSpace : ICIColorCubeWithColorSpaceProtocol { } [CoreImageFilter] @@ -3061,64 +3189,34 @@ interface CIColorDodgeBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorInvert { + interface CIColorInvert : ICIColorInvertProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMap { - - [CoreImageFilterProperty ("inputGradientImage")] - CIImage GradientImage { get; set; } + interface CIColorMap : ICIColorMapProtocol { } [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 : ICIColorMatrixProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMonochrome { - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIColorMonochrome : ICIColorMonochromeProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIColorCrossPolynomial))] - interface CIColorPolynomial { - - [CoreImageFilterProperty ("inputAlphaCoefficients")] - CIVector AlphaCoefficients { get; set; } + interface CIColorPolynomial : ICIColorPolynomialProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorPosterize { - - [CoreImageFilterProperty ("inputLevels")] - float Levels { get; set; } + interface CIColorPosterize : ICIColorPosterizeProtocol { } [CoreImageFilter] @@ -3131,7 +3229,7 @@ interface CIColumnAverage { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIComicEffect { + interface CIComicEffect : ICIComicEffectProtocol { } [CoreImageFilter] @@ -3147,6 +3245,9 @@ interface CIConstantColorGenerator { [BaseType (typeof (CIFilter))] interface CIConvolutionCore { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputWeights")] CIVector Weights { get; set; } @@ -3213,6 +3314,9 @@ interface CICopyMachineTransition { [BaseType (typeof (CIFilter))] interface CICrop { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRectangle")] CIVector Rectangle { get; set; } } @@ -3220,13 +3324,13 @@ interface CICrop { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CICrystallize { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CICrystallize : ICICrystallizeProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } +#endif } [CoreImageFilter] @@ -3242,28 +3346,22 @@ interface CIDifferenceBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIDiscBlur { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIDiscBlur : ICIDiscBlurProtocol { } [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIDisintegrateWithMaskTransition { - - [CoreImageFilterProperty ("inputShadowDensity")] - float ShadowDensity { get; set; } + interface CIDisintegrateWithMaskTransition : ICIDisintegrateWithMaskTransitionProtocol { - // 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 +3369,9 @@ interface CIDisintegrateWithMaskTransition { [BaseType (typeof (CIFilter))] interface CIDisplacementDistortion { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputDisplacementImage")] CIImage DisplacementImage { get; set; } @@ -3292,9 +3393,7 @@ interface CIDivideBlendMode { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CIDotScreen { - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIDotScreen : ICIDotScreenProtocol { } [CoreImageFilter] @@ -3302,6 +3401,9 @@ interface CIDotScreen { [BaseType (typeof (CIFilter))] interface CIDroste { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputStrands")] float Strands { get; set; } @@ -3324,19 +3426,13 @@ interface CIDroste { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIEdges { - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIEdges : ICIEdgesProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIEdgeWork { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIEdgeWork : ICIEdgeWorkProtocol { } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -3347,8 +3443,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 +3458,7 @@ interface CITileFilter { [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIEightfoldReflectedTile { + interface CIEightfoldReflectedTile : ICIEightfoldReflectedTileProtocol { } [CoreImageFilter] @@ -3366,103 +3468,73 @@ interface CIExclusionBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIExposureAdjust { - - [CoreImageFilterProperty ("inputEV")] - float EV { get; set; } + interface CIExposureAdjust : ICIExposureAdjustProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIFalseColor { - - [CoreImageFilterProperty ("inputColor1")] - CIColor Color1 { get; set; } - - [CoreImageFilterProperty ("inputColor0")] - CIColor Color0 { get; set; } + interface CIFalseColor : ICIFalseColorProtocol { } [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIFlashTransition { + interface CIFlashTransition : ICIFlashTransitionProtocol { +#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 : ICIFourfoldReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldRotatedTile { + interface CIFourfoldRotatedTile : ICIFourfoldRotatedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldTranslatedTile { - - [CoreImageFilterProperty ("inputAcuteAngle")] - float AcuteAngle { get; set; } + interface CIFourfoldTranslatedTile : ICIFourfoldTranslatedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGammaAdjust { - - [CoreImageFilterProperty ("inputPower")] - float Power { get; set; } + interface CIGammaAdjust : ICIGammaAdjustProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGaussianBlur { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIGaussianBlur : ICIGaussianBlurProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGaussianGradient { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIGaussianGradient : ICIGaussianGradientProtocol { +#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 +3542,9 @@ interface CIGaussianGradient { [BaseType (typeof (CIFilter))] interface CIGlassDistortion { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } @@ -3485,6 +3560,9 @@ interface CIGlassDistortion { [BaseType (typeof (CIFilter))] interface CIGlassLozenge { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputPoint1")] CIVector Point1 { get; set; } @@ -3500,18 +3578,12 @@ interface CIGlassLozenge { [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIGlideReflectedTile { + interface CIGlideReflectedTile : ICIGlideReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGloom { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIGloom : ICIGloomProtocol { } [CoreImageFilter] @@ -3521,45 +3593,31 @@ interface CIHardLightBlendMode { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CIHatchedScreen { - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIHatchedScreen : ICIHatchedScreenProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIHeightFieldFromMask { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } + interface CIHeightFieldFromMask : ICIHeightFieldFromMaskProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIHexagonalPixellate { + interface CIHexagonalPixellate : ICIHexagonalPixellateProtocol { +#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 : ICIHighlightShadowAdjustProtocol { + } [CoreImageFilter] [iOS (8,0)] @@ -3567,6 +3625,9 @@ interface CIHighlightShadowAdjust { [BaseType (typeof (CIFilter))] interface CIHistogramDisplayFilter { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputHeight")] float Height { get; set; } @@ -3584,10 +3645,7 @@ interface CIHoleDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIHueAdjust { - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIHueAdjust : ICIHueAdjustProtocol { } [CoreImageFilter] @@ -3598,57 +3656,34 @@ interface CIHueBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIKaleidoscope { - - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CIKaleidoscope : ICIKaleidoscopeProtocol { +#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 : ICILanczosScaleTransformProtocol { } [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 : ICILenticularHaloGeneratorProtocol { +#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 +3696,9 @@ interface CILightenBlendMode { [BaseType (typeof (CIFilter))] interface CILightTunnel { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRotation")] float Rotation { get; set; } @@ -3687,54 +3725,35 @@ interface CILinearDodgeBlendMode { [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIFilter))] - interface CILinearGradient { + interface CILinearGradient : ICILinearGradientProtocol { +#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 : ICILinearToSrgbToneCurveProtocol { } [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 : ICILineOverlayProtocol { } [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CILineScreen { - [CoreImageFilterProperty ("inputAngle")] - float Angle { get; set; } + interface CILineScreen : ICILineScreenProtocol { } [CoreImageFilter] @@ -3744,12 +3763,12 @@ interface CILuminosityBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaskToAlpha { + interface CIMaskToAlpha : ICIMaskToAlphaProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaximumComponent { + interface CIMaximumComponent : ICIMaximumComponentProtocol { } [CoreImageFilter] @@ -3760,12 +3779,12 @@ interface CIMaximumCompositing { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIMedianFilter { + interface CIMedianFilter : ICIMedianProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMinimumComponent { + interface CIMinimumComponent : ICIMinimumComponentProtocol { } [CoreImageFilter] @@ -3775,28 +3794,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 : ICIModTransitionProtocol { +#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 : ICIMotionBlurProtocol { } [CoreImageFilter] @@ -3812,22 +3821,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 : ICINoiseReductionProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITileFilter))] - interface CIOpTile { - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } + interface CIOpTile : ICIOpTileProtocol { } [CoreImageFilter] @@ -3838,155 +3838,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 : ICIPageCurlTransitionProtocol { +#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 : ICIPageCurlWithShadowTransitionProtocol { +#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 : ICIParallelogramTileProtocol { } [CoreImageFilter] [iOS (9,0)] [Mac (10,11)] [BaseType (typeof (CICodeGenerator), Name="CIPDF417BarcodeGenerator")] - interface CIPdf417BarcodeGenerator { - + interface CIPdf417BarcodeGenerator : ICIPdf417BarcodeGeneratorProtocol { +#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 : ICIPerspectiveCorrectionProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIPerspectiveTile { - + interface CIPerspectiveTile : ICIPerspectiveTileProtocol { +#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 : ICIPerspectiveTransformProtocol { +#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 : ICIPerspectiveTransformWithExtentProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } +#endif } [CoreImageFilter (StringCtorVisibility = MethodAttributes.Public)] @@ -3994,7 +3978,7 @@ interface CIPerspectiveTransformWithExtent { [Mac (10,9)] [Abstract] [BaseType (typeof (CIFilter))] - interface CIPhotoEffect { + interface CIPhotoEffect : ICIPhotoEffectProtocol { } [CoreImageFilter] @@ -4070,81 +4054,64 @@ interface CIPinLightBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIPixellate { - + interface CIPixellate : ICIPixellateProtocol { +#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 : ICIPointillizeProtocol { +#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 : ICIQRCodeGeneratorProtocol { - [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 : ICIRadialGradientProtocol { +#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 : ICIRandomGeneratorProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITransitionFilter))] - interface CIRippleTransition { - - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - - [CoreImageFilterProperty ("inputShadingImage")] - CIImage ShadingImage { get; set; } - + interface CIRippleTransition : ICIRippleTransitionProtocol { +#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 +4119,9 @@ interface CIRippleTransition { [BaseType (typeof (CIFilter))] interface CIRowAverage { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } } @@ -4168,58 +4138,43 @@ interface CIScreenBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CISepiaTone { - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CISepiaTone : ICISepiaToneProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIShadedMaterial { - - [CoreImageFilterProperty ("inputShadingImage")] - CIImage ShadingImage { get; set; } - - [CoreImageFilterProperty ("inputScale")] - float Scale { get; set; } + interface CIShadedMaterial : ICIShadedMaterialProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CISharpenLuminance { - - [CoreImageFilterProperty ("inputSharpness")] - float Sharpness { get; set; } + interface CISharpenLuminance : ICISharpenLuminanceProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CISixfoldReflectedTile { + interface CISixfoldReflectedTile : ICISixfoldReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CISixfoldRotatedTile { + interface CISixfoldRotatedTile : ICISixfoldRotatedTileProtocol { } [CoreImageFilter] [Mac (10,11)] [BaseType (typeof (CILinearGradient))] - interface CISmoothLinearGradient { - + interface CISmoothLinearGradient : ICISmoothLinearGradientProtocol { +#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 +4205,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 : ICISpotColorProtocol { } [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 : ICISpotLightProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CISRGBToneCurveToLinear { + interface CISRGBToneCurveToLinear : ICISrgbToneCurveToLinearProtocol { } [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 : ICIStarShineGeneratorProtocol { +#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 : ICIStraightenProtocol { } [CoreImageFilter] @@ -4359,6 +4241,9 @@ interface CIStraightenFilter { [BaseType (typeof (CIFilter))] interface CIStretchCrop { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputCropAmount")] float CropAmount { get; set; } @@ -4371,23 +4256,13 @@ interface CIStretchCrop { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIStripesGenerator { - - [CoreImageFilterProperty ("inputWidth")] - float Width { get; set; } - - [CoreImageFilterProperty ("inputSharpness")] - float Sharpness { get; set; } - + interface CIStripesGenerator : ICIStripesGeneratorProtocol { +#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] [iOS (8,0)] @@ -4418,33 +4293,33 @@ interface CISwipeTransition { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CITemperatureAndTint { - - [CoreImageFilterProperty ("inputTargetNeutral")] - CIVector TargetNeutral { get; set; } - - [CoreImageFilterProperty ("inputNeutral")] - CIVector Neutral { get; set; } + interface CITemperatureAndTint : ICITemperatureAndTintProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIToneCurve { - + interface CIToneCurve : ICIToneCurveProtocol { +#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 +4327,9 @@ interface CIToneCurve { [BaseType (typeof (CIFilter))] interface CITorusLensDistortion { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputRefraction")] float Refraction { get; set; } @@ -4468,30 +4346,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 : ICITriangleKaleidoscopeProtocol { +#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 : ICITriangleTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CITwelvefoldReflectedTile { + interface CITwelvefoldReflectedTile : ICITwelvefoldReflectedTileProtocol { } [CoreImageFilter] @@ -4504,52 +4375,31 @@ interface CITwirlDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIUnsharpMask { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIUnsharpMask : ICIUnsharpMaskProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIVibrance { - - [CoreImageFilterProperty ("inputAmount")] - float Amount { get; set; } + interface CIVibrance : ICIVibranceProtocol { } [CoreImageFilter] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIVignette { - - [CoreImageFilterProperty ("inputRadius")] - float Radius { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIVignette : ICIVignetteProtocol { } [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 : ICIVignetteEffectProtocol { +#if !XAMCORE_4_0 + [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] CIVector Center { get; set; } - - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } +#endif } [CoreImageFilter] @@ -4562,75 +4412,47 @@ interface CIVortexDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIWhitePointAdjust { - - [CoreImageFilterProperty ("inputColor")] - CIColor Color { get; set; } + interface CIWhitePointAdjust : ICIWhitePointAdjustProtocol { } [CoreImageFilter] [iOS (8,3)] [BaseType (typeof (CIFilter))] - interface CIZoomBlur { - - [CoreImageFilterProperty ("inputAmount")] - float Amount { get; set; } - + interface CIZoomBlur : ICIZoomBlurProtocol { +#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 : ICIDepthOfFieldProtocol { +#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 : ICISunbeamsGeneratorProtocol { +#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 +4468,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 : ICIMaskedVariableBlurProtocol { } [CoreImageFilter] @@ -4662,6 +4480,9 @@ interface CIMaskedVariableBlur { [BaseType (typeof (CIFilter))] interface CIClamp { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputExtent")] CIVector Extent { get; set; } } @@ -4671,22 +4492,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 : ICIHueSaturationValueGradientProtocol { } [CoreImageFilter] @@ -4696,6 +4502,9 @@ interface CIHueSaturationValueGradient { [BaseType (typeof (CIFilter))] interface CINinePartStretched { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputGrowAmount")] CIVector GrowAmount { get; set; } @@ -4713,6 +4522,9 @@ interface CINinePartStretched { [BaseType (typeof (CIFilter))] interface CINinePartTiled { + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } + [CoreImageFilterProperty ("inputGrowAmount")] CIVector GrowAmount { get; set; } @@ -4731,7 +4543,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 : ICIThermalProtocol { } [CoreImageFilter] @@ -4739,7 +4551,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 : ICIXRayProtocol { } [CoreImageFilter] @@ -4768,9 +4580,7 @@ interface CIImageGenerator { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIImageGenerator))] - interface CIAttributedTextImageGenerator { - [CoreImageFilterProperty ("inputText")] - NSAttributedString Text { get; set; } + interface CIAttributedTextImageGenerator : ICIAttributedTextImageGeneratorProtocol { } [CoreImageFilter] @@ -4778,9 +4588,22 @@ interface CIAttributedTextImageGenerator { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CIBarcodeGenerator { - [CoreImageFilterProperty ("inputBarcodeDescriptor")] - CIBarcodeDescriptor BarcodeDescriptor { get; set; } + interface CIBarcodeGenerator : ICIBarcodeGeneratorProtocol { + + [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 +4613,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 : ICIBicubicScaleTransformProtocol { + +#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 +4639,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 : ICIBokehBlurProtocol { } [CoreImageFilter] @@ -4833,21 +4647,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 : ICIColorCubesMixedWithMaskProtocol { } [CoreImageFilter] @@ -4855,15 +4655,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 : ICIColorCurvesProtocol { } [CoreImageFilter] @@ -4872,6 +4664,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 +4702,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 +4729,23 @@ interface CIDepthDisparityConverter {} [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIDepthDisparityConverter))] - interface CIDepthToDisparity {} + interface CIDepthToDisparity : ICIDepthToDisparityProtocol { + } [CoreImageFilter] [iOS (11,0)] [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIDepthDisparityConverter))] - interface CIDisparityToDepth {} + interface CIDisparityToDepth : ICIDisparityToDepthProtocol { + } [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 : ICIEdgePreserveUpsampleProtocol { } [CoreImageFilter] @@ -4951,9 +4753,7 @@ interface CIEdgePreserveUpsampleFilter { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CILabDeltaE { - [CoreImageFilterProperty ("inputImage2")] - CIImage Image2 { get; set; } + interface CILabDeltaE : ICILabDeltaEProtocol { } [CoreImageFilter] @@ -4961,15 +4761,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 : ICITextImageGeneratorProtocol { } [CoreImageFilter] @@ -4988,21 +4780,24 @@ interface CIMorphology { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyGradient {} + interface CIMorphologyGradient : ICIMorphologyGradientProtocol { + } [CoreImageFilter] [iOS (11,0)] [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyMaximum {} + interface CIMorphologyMaximum : ICIMorphologyMaximumProtocol { + } [CoreImageFilter] [iOS (11,0)] [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyMinimum {} + interface CIMorphologyMinimum : ICIMorphologyMinimumProtocol { + } [CoreImageFilter] [iOS (11,0)] @@ -5153,6 +4948,11 @@ interface CIBlendKernel { [return: NullAllowed] CIImage Apply (CIImage foreground, CIImage background); + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Export ("applyWithForeground:background:colorSpace:")] + [return: NullAllowed] + CIImage Apply (CIImage foreground, CIImage background, CGColorSpace colorSpace); + // @interface BuiltIn (CIBlendKernel) [Static] @@ -5452,6 +5252,22 @@ partial interface CIImageRepresentationKeys { [TV (12, 0), iOS (12, 0), Mac (10, 14)] [Field ("kCIImageRepresentationPortraitEffectsMatteImage")] NSString PortraitEffectsMatteImageKey { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Field ("kCIImageRepresentationAVSemanticSegmentationMattes")] + NSString AVSemanticSegmentationMattesKey { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Field ("kCIImageRepresentationSemanticSegmentationSkinMatteImage")] + NSString SemanticSegmentationSkinMatteImageKey { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Field ("kCIImageRepresentationSemanticSegmentationHairMatteImage")] + NSString SemanticSegmentationHairMatteImageKey { get; } + + [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [Field ("kCIImageRepresentationSemanticSegmentationTeethMatteImage")] + NSString SemanticSegmentationTeethMatteImageKey { get; } } [iOS (11,0)] @@ -5481,6 +5297,9 @@ interface CIImageRepresentationOptions { [Mac (10,14)] [BaseType (typeof (CIReductionFilter))] interface CIAreaMinMax { + + [CoreImageFilterProperty ("outputImageNonMPS")] + CIImage OutputImageNonMps { get; } } [CoreImageFilter] @@ -5488,9 +5307,7 @@ interface CIAreaMinMax { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CIDither { - [CoreImageFilterProperty ("inputIntensity")] - float Intensity { get; set; } + interface CIDither : ICIDitherProtocol { } [CoreImageFilter] @@ -5499,10 +5316,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 +5335,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 : ICIMeshGeneratorProtocol { } [CoreImageFilter] @@ -5526,11 +5343,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 : ICIMixProtocol { } [CoreImageFilter] @@ -5539,6 +5352,9 @@ interface CIMix { [Mac (10,14)] [BaseType (typeof (CIFilter))] interface CISampleNearest { + + [CoreImageFilterProperty ("inputImage")] + CIImage InputImage { get; set; } } [CoreImageFilter] @@ -5547,6 +5363,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 +5380,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 +5399,7 @@ interface CICoreMLModelFilter { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CISaliencyMapFilter { + interface CISaliencyMapFilter : ICISaliencyMapProtocol { } [CoreImageFilter] @@ -5577,10 +5407,7 @@ interface CISaliencyMapFilter { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIDocumentEnhancer { - - [CoreImageFilterProperty ("inputAmount")] - float Amount { get; set; } + interface CIDocumentEnhancer : ICIDocumentEnhancerProtocol { } [CoreImageFilter] @@ -5611,11 +5438,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 +5460,7 @@ interface CIMorphologyRectangle { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIMorphologyRectangle))] - interface CIMorphologyRectangleMaximum { + interface CIMorphologyRectangleMaximum : ICIMorphologyRectangleMaximumProtocol { } [CoreImageFilter] @@ -5631,7 +5468,7 @@ interface CIMorphologyRectangleMaximum { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIMorphologyRectangle))] - interface CIMorphologyRectangleMinimum { + interface CIMorphologyRectangleMinimum : ICIMorphologyRectangleMinimumProtocol { } [CoreImageFilter] @@ -5639,13 +5476,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 : ICIPaletteCentroidProtocol { } [CoreImageFilter] @@ -5653,13 +5484,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 : ICIPalettizeProtocol { } [CoreImageFilter] @@ -5673,17 +5498,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 +5534,10 @@ interface CIKeystoneCorrection { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionCombined { + interface CIKeystoneCorrectionCombined : ICIKeystoneCorrectionCombinedProtocol { + + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5699,7 +5545,15 @@ interface CIKeystoneCorrectionCombined { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionHorizontal { + interface CIKeystoneCorrectionHorizontal : ICIKeystoneCorrectionHorizontalProtocol { + +#if false // no documentation about the type + [CoreImageFilterProperty ("outputRotationFilter")] + NSObject OutputRotationFilter { get; } +#endif + + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5707,7 +5561,13 @@ interface CIKeystoneCorrectionHorizontal { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionVertical { + interface CIKeystoneCorrectionVertical : ICIKeystoneCorrectionVerticalProtocol { + + [CoreImageFilterProperty ("outputRotationFilter")] + CGAffineTransform OutputRotationFilter { get; } + + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5715,19 +5575,10 @@ interface CIKeystoneCorrectionVertical { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIPerspectiveRotate { - - [CoreImageFilterProperty ("inputFocalLength")] - float FocalLength { get; set; } - - [CoreImageFilterProperty ("inputRoll")] - float Roll { get; set; } - - [CoreImageFilterProperty ("inputPitch")] - float Pitch { get; set; } + interface CIPerspectiveRotate : ICIPerspectiveRotateProtocol { - [CoreImageFilterProperty ("inputYaw")] - float Yaw { get; set; } + [CoreImageFilterProperty ("outputTransform")] + CGAffineTransform OutputTransform { get; } } [CoreImageFilter] @@ -5735,7 +5586,7 @@ interface CIPerspectiveRotate { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIGaborGradients { + interface CIGaborGradients : ICIGaborGradientsProtocol { } [CoreImageFilter] @@ -5743,15 +5594,3269 @@ interface CIGaborGradients { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIRoundedRectangleGenerator { + interface CIRoundedRectangleGenerator : ICIRoundedRectangleGeneratorProtocol { +#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; } + interface ICIFilterProtocol {} + + [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] + [NullAllowed, Export ("outputImage")] + CIImage OutputImage { get; } + + [Static] + [NullAllowed, Export ("customAttributes")] + NSDictionary CustomAttributes { get; } + } + + interface ICITransitionFilterProtocol {} + + [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; } + } + + interface ICIAccordionFoldTransitionProtocol {} + + [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; } + } + + interface ICIAffineClampProtocol {} + + [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; } + } + + interface ICIAffineTileProtocol {} + + [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; } + } + + interface ICIAttributedTextImageGeneratorProtocol {} + + [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; } + } + + interface ICIAztecCodeGeneratorProtocol {} + + [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; } + } + + interface ICIBarcodeGeneratorProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIBarcodeGenerator")] + interface CIBarcodeGeneratorProtocol : CIFilterProtocol { + + [Abstract] + [Export ("barcodeDescriptor", ArgumentSemantic.Retain)] + CIBarcodeDescriptor BarcodeDescriptor { get; set; } + } + + interface ICIBarsSwipeTransitionProtocol {} + + [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; } + } + + interface ICIBicubicScaleTransformProtocol {} + + [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; } + } + + interface ICIBlendWithMaskProtocol {} + + [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; } + } + + interface ICIBloomProtocol {} + + [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; } + } + + interface ICIBokehBlurProtocol {} + + [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; } + } + + interface ICIBoxBlurProtocol {} + + [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; } + } + + interface ICICheckerboardGeneratorProtocol {} + + [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; } + } + + interface ICICircularScreenProtocol {} + + [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; } + } + + interface ICICmykHalftoneProtocol {} + + [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; } + } + + interface ICICode128BarcodeGeneratorProtocol {} + + [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; } + } + + interface ICIColorClampProtocol {} + + [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; } + } + + interface ICIColorControlsProtocol {} + + [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; } + } + + interface ICIColorCrossPolynomialProtocol {} + + [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; } + } + + interface ICIColorCubeProtocol {} + + [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; } + } + + interface ICIColorCubesMixedWithMaskProtocol {} + + [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; } + } + + interface ICIColorCubeWithColorSpaceProtocol {} + + [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; } + } + + interface ICIColorCurvesProtocol {} + + [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; } + } + + interface ICIColorInvertProtocol {} + + [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; } + } + + interface ICIColorMapProtocol {} + + [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; } + } + + interface ICIColorMatrixProtocol {} + + [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; } + } + + interface ICIColorMonochromeProtocol {} + + [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; } + } + + interface ICIColorPolynomialProtocol {} + + [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; } + } + + interface ICIColorPosterizeProtocol {} + + [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; } + } + + interface ICIComicEffectProtocol {} + + [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; } + } + + interface ICICompositeOperationProtocol {} + + [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; } + } + + interface ICIConvolutionProtocol {} + + [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; } + } + + interface ICICopyMachineTransitionProtocol {} + + [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; } + } + + interface ICICoreMLModelProtocol {} + + [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; } + } + + interface ICICrystallizeProtocol {} + + [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; } + } + + interface ICIDepthOfFieldProtocol {} + + [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; } + } + + interface ICIDepthToDisparityProtocol {} + + [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; } + } + + interface ICIDiscBlurProtocol {} + + [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; } + } + + interface ICIDisintegrateWithMaskTransitionProtocol {} + + [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; } + } + + interface ICIDisparityToDepthProtocol {} + + [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; } + } + + interface ICIDissolveTransitionProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIDissolveTransition")] + interface CIDissolveTransitionProtocol : CIFilterProtocol { + } + + interface ICIDitherProtocol {} + + [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; } + } + + interface ICIDocumentEnhancerProtocol {} + + [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; } + } + + interface ICIDotScreenProtocol {} + + [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; } + } + + interface ICIEdgePreserveUpsampleProtocol {} + + [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; } + } + + interface ICIEdgesProtocol {} + + [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; } + } + + interface ICIEdgeWorkProtocol {} + + [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; } + } + + interface ICIEightfoldReflectedTileProtocol {} + + [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; } + } + + interface ICIExposureAdjustProtocol {} + + [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; } + } + + interface ICIFalseColorProtocol {} + + [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; } + } + + interface ICIFlashTransitionProtocol {} + + [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; } + } + + interface ICIFourCoordinateGeometryFilterProtocol {} + + [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; } + } + + interface ICIFourfoldReflectedTileProtocol {} + + [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; } + } + + interface ICIFourfoldRotatedTileProtocol {} + + [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; } + } + + interface ICIFourfoldTranslatedTileProtocol {} + + [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; } + } + + interface ICIGaborGradientsProtocol {} + + [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; } + } + + interface ICIGammaAdjustProtocol {} + + [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; } + } + + interface ICIGaussianBlurProtocol {} + + [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; } + } + + interface ICIGaussianGradientProtocol {} + + [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; } + } + + interface ICIGlideReflectedTileProtocol {} + + [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; } + } + + interface ICIGloomProtocol {} + + [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; } + } + + interface ICIHatchedScreenProtocol {} + + [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; } + } + + interface ICIHeightFieldFromMaskProtocol {} + + [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; } + } + + interface ICIHexagonalPixellateProtocol {} + + [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; } + } + + interface ICIHighlightShadowAdjustProtocol {} + + [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; } + } + + interface ICIHueAdjustProtocol {} + + [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; } + } + + interface ICIHueSaturationValueGradientProtocol {} + + [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; } + } + + interface ICIKaleidoscopeProtocol {} + + [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; } + } + + interface ICIKeystoneCorrectionCombinedProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIKeystoneCorrectionCombined")] + interface CIKeystoneCorrectionCombinedProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("focalLength")] + float FocalLength { get; set; } + } + + interface ICIKeystoneCorrectionHorizontalProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIKeystoneCorrectionHorizontal")] + interface CIKeystoneCorrectionHorizontalProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("focalLength")] + float FocalLength { get; set; } + } + + interface ICIKeystoneCorrectionVerticalProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIKeystoneCorrectionVertical")] + interface CIKeystoneCorrectionVerticalProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("focalLength")] + float FocalLength { get; set; } + } + + interface ICILabDeltaEProtocol {} + + [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; } + } + + interface ICILanczosScaleTransformProtocol {} + + [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; } + } + + interface ICILenticularHaloGeneratorProtocol {} + + [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; } + } + + interface ICILinearGradientProtocol {} + + [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; } + } + + interface ICILinearToSrgbToneCurveProtocol {} + + [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; } + } + + interface ICILineOverlayProtocol {} + + [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; } + } + + interface ICILineScreenProtocol {} + + [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; } + } + + interface ICIMaskedVariableBlurProtocol {} + + [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; } + } + + interface ICIMaskToAlphaProtocol {} + + [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; } + } + + interface ICIMaximumComponentProtocol {} + + [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; } + } + + interface ICIMedianProtocol {} + + [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; } + } + + interface ICIMeshGeneratorProtocol {} + + [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; } + } + + interface ICIMinimumComponentProtocol {} + + [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; } + } + + interface ICIMixProtocol {} + + [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; } + } + + interface ICIModTransitionProtocol {} + + [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; } + } + + interface ICIMorphologyGradientProtocol {} + + [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; } + } + + interface ICIMorphologyMaximumProtocol {} + + [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; } + } + + interface ICIMorphologyMinimumProtocol {} + + [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; } + } + + interface ICIMorphologyRectangleMaximumProtocol {} + + [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; } + } + + interface ICIMorphologyRectangleMinimumProtocol {} + + [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; } + } + + interface ICIMotionBlurProtocol {} + + [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; } + } + + interface ICINoiseReductionProtocol {} + + [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; } + } + + interface ICIOpTileProtocol {} + + [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; } + } + + interface ICIPageCurlTransitionProtocol {} + + [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; } + } + + interface ICIPageCurlWithShadowTransitionProtocol {} + + [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; } + } + + interface ICIPaletteCentroidProtocol {} + + [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; } + } + + interface ICIPalettizeProtocol {} + + [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; } + } + + interface ICIParallelogramTileProtocol {} + + [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; } + } + + interface ICIPdf417BarcodeGeneratorProtocol {} + + [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; } + } + + interface ICIPerspectiveCorrectionProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveCorrection")] + interface CIPerspectiveCorrectionProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("crop")] + bool Crop { get; set; } + } + + interface ICIPerspectiveRotateProtocol {} + + [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; } + } + + interface ICIPerspectiveTileProtocol {} + + [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; } + } + + interface ICIPerspectiveTransformProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveTransform")] + interface CIPerspectiveTransformProtocol : CIFourCoordinateGeometryFilterProtocol { + } + + interface ICIPerspectiveTransformWithExtentProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIPerspectiveTransformWithExtent")] + interface CIPerspectiveTransformWithExtentProtocol : CIFourCoordinateGeometryFilterProtocol { + + [Abstract] + [Export ("extent", ArgumentSemantic.Assign)] + CGRect InputExtent { get; set; } + } + + interface ICIPhotoEffectProtocol {} + + [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; } + } + + interface ICIPixellateProtocol {} + + [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; } + } + + interface ICIPointillizeProtocol {} + + [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; } + } + + interface ICIQRCodeGeneratorProtocol {} + + [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; } + } + + interface ICIRadialGradientProtocol {} + + [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; } + } + + interface ICIRandomGeneratorProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CIRandomGenerator")] + interface CIRandomGeneratorProtocol : CIFilterProtocol { + } + + interface ICIRippleTransitionProtocol {} + + [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; } + } + + interface ICIRoundedRectangleGeneratorProtocol {} + + [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; } + } + + interface ICISaliencyMapProtocol {} + + [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; } + } + + interface ICISepiaToneProtocol {} + + [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; } + } + + interface ICIShadedMaterialProtocol {} + + [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; } + } + + interface ICISharpenLuminanceProtocol {} + + [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")] + float Radius { get; set; } + } + + interface ICISixfoldReflectedTileProtocol {} + + [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; } + } + + interface ICISixfoldRotatedTileProtocol {} + + [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; } + } + + interface ICISmoothLinearGradientProtocol {} + + [iOS (13,0)] + [TV (13,0)] + [Mac (10,15)] + [Protocol (Name = "CISmoothLinearGradient")] + // `CILinearGradientProtocol` is a bit of a lie - but it would not compile (registrar) otherwise + interface CISmoothLinearGradientProtocol : CILinearGradientProtocol { + + /* we get those from ICILinearGradientProtocol + [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; } + */ + } + + interface ICISpotColorProtocol {} + + [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; } + } + + interface ICISpotLightProtocol {} + + [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; } + } + + interface ICISrgbToneCurveToLinearProtocol {} + + [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; } + } + + interface ICIStarShineGeneratorProtocol {} + + [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; } + } + + interface ICIStraightenProtocol {} + + [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; } + } + + interface ICIStripesGeneratorProtocol {} + + [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; } + } + + interface ICISunbeamsGeneratorProtocol {} + + [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; } + } + + interface ICISwipeTransitionProtocol {} + + [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; } + } + + interface ICITemperatureAndTintProtocol {} + + [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; } + } + + interface ICITextImageGeneratorProtocol {} + + [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; } + } + + interface ICIThermalProtocol {} + + [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; } + } + + interface ICIToneCurveProtocol {} + + [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; } + } + + interface ICITriangleKaleidoscopeProtocol {} + + [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; } + } + + interface ICITriangleTileProtocol {} + + [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; } + } + + interface ICITwelvefoldReflectedTileProtocol {} + + [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; } + } + + interface ICIUnsharpMaskProtocol {} + + [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; } + } + + interface ICIVibranceProtocol {} + + [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; } + } + + interface ICIVignetteProtocol {} + + [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; } + } + + interface ICIVignetteEffectProtocol {} + + [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; } + } + + interface ICIWhitePointAdjustProtocol {} + + [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; } + } + + interface ICIXRayProtocol {} + + [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; } + } + + interface ICIZoomBlurProtocol {} + + [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..52c58a64cefa 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.FullName}"; + } + // 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 (on the type it will be an interface starting with `I`) + GenerateProtocolProperties (type, new HashSet (), checkPrefix: true); + + 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, bool checkPrefix) + { + foreach (var i in type.GetInterfaces ()) { + if (!IsProtocolInterface (i, checkPrefix, out var protocol)) + continue; + + // the same protocol can be included more than once (interfaces) - but we must generate only once + var pname = protocol.Name; + if (processed.Contains (pname)) + continue; + processed.Add (pname); + + print (""); + print ($"// {pname} protocol members "); + GenerateProperties (protocol); + + // also include base interfaces/protocols (won't start with an `I`) + GenerateProtocolProperties (protocol, processed, checkPrefix: false); + } + } + + 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 (9999, true, $"Missing [CoreImageFilterProperty] attribute on {type.Name} property {ptype}"); + + 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..209fb4788415 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,300 @@ 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; + 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": + 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; + } + + 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/xtro-sharpie/common-CoreImage.ignore b/tests/xtro-sharpie/common-CoreImage.ignore index 098187f91977..559f5e55693c 100644 --- a/tests/xtro-sharpie/common-CoreImage.ignore +++ b/tests/xtro-sharpie/common-CoreImage.ignore @@ -15,3 +15,199 @@ ## 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 + +## CISmoothLinearGradient[Protocol] inherits from CILinearGradient[Protocol] that already have the same members +## and the registrar does not like duplicates too +!missing-protocol-member! CISmoothLinearGradient::color0 not found +!missing-protocol-member! CISmoothLinearGradient::color1 not found +!missing-protocol-member! CISmoothLinearGradient::point0 not found +!missing-protocol-member! CISmoothLinearGradient::point1 not found +!missing-protocol-member! CISmoothLinearGradient::setColor0: not found +!missing-protocol-member! CISmoothLinearGradient::setColor1: not found +!missing-protocol-member! CISmoothLinearGradient::setPoint0: not found +!missing-protocol-member! CISmoothLinearGradient::setPoint1: not found + +## 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; From 594672f3ab0d950f0312337b24934bf176da8342 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 11:48:45 -0400 Subject: [PATCH 02/11] Fix error code and document it --- docs/website/generator-errors.md | 29 +++++++++++++++++++++++++++++ src/generator-filters.cs | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) 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/generator-filters.cs b/src/generator-filters.cs index 52c58a64cefa..e33fafc290dd 100644 --- a/src/generator-filters.cs +++ b/src/generator-filters.cs @@ -191,7 +191,7 @@ void GenerateProperties (Type type) // we can skip the name when it's identical to a protocol selector if (name == null) { if (export == null) - throw new BindingException (9999, true, $"Missing [CoreImageFilterProperty] attribute on {type.Name} property {ptype}"); + 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)) From 5b5c3ad50561afa80fc7b3097b44ca5658eeba76 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 11:50:50 -0400 Subject: [PATCH 03/11] Fix Get* methods for possible NRE and apply some feedback (on the new ones) to simplify (all of) them --- src/CoreImage/CIFilter.cs | 43 ++++++++++++++------------------------- 1 file changed, 15 insertions(+), 28 deletions(-) diff --git a/src/CoreImage/CIFilter.cs b/src/CoreImage/CIFilter.cs index 0340ed5ad55b..255ee556dbf5 100644 --- a/src/CoreImage/CIFilter.cs +++ b/src/CoreImage/CIFilter.cs @@ -201,44 +201,31 @@ internal void SetValue (string key, CGRect value) } } - internal float GetFloat (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).FloatValue; - return 0; + 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) { - using (var nskey = new NSString (key)){ - var v = ValueForKey (nskey); - if (v is NSNumber) - return (v as NSNumber).Int32Value; - return 0; - } + return Get (key)?.Int32Value ?? default (int); } internal nint GetNInt (string key) { - using (var nskey = new NSString (key)){ - var v = ValueForKey (nskey); - if (v is NSNumber) - return (v as NSNumber).NIntValue; - return 0; - } + return Get (key)?.NIntValue ?? default (nint); } internal bool GetBool (string key) { - using (var nskey = new NSString (key)){ - var v = ValueForKey (nskey); - if (v is NSNumber) - return (v as NSNumber).BoolValue; - return false; - } + return Get (key)?.BoolValue ?? default (bool); } internal void SetHandle (string key, IntPtr handle) @@ -271,14 +258,14 @@ internal IntPtr GetHandle (string key) internal CGPoint GetPoint (string key) { - var v = ValueForKey (key) as CIVector; - return new CGPoint (v.X, v.Y); + var v = Get (key); + return v != null ? new CGPoint (v.X, v.Y) : default (CGPoint); } internal CGRect GetRect (string key) { - var v = ValueForKey (key) as CIVector; - return new CGRect (v.X, v.Y, v.Z, v.W); + var v = Get (key); + return v != null ? new CGRect (v.X, v.Y, v.Z, v.W) : default (CGRect); } #if MONOMAC From a3f93f93450e6db0f93f371767c92296a3234e0a Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 12:01:49 -0400 Subject: [PATCH 04/11] Remove outdated comments and hide 2nd OutputRotationFilter (unknown underlying type) --- src/coreimage.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/coreimage.cs b/src/coreimage.cs index b598a491a786..49e475394742 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -5563,8 +5563,10 @@ interface CIKeystoneCorrectionHorizontal : ICIKeystoneCorrectionHorizontalProtoc [BaseType (typeof (CIKeystoneCorrection))] interface CIKeystoneCorrectionVertical : ICIKeystoneCorrectionVerticalProtocol { +#if false // no documentation about the type [CoreImageFilterProperty ("outputRotationFilter")] CGAffineTransform OutputRotationFilter { get; } +#endif [CoreImageFilterProperty ("outputTransform")] CGAffineTransform OutputTransform { get; } @@ -5615,6 +5617,7 @@ interface ICIFilterProtocol {} interface CIFilterProtocol { [Abstract] + [CoreImageFilterProperty ("outputImage")] [NullAllowed, Export ("outputImage")] CIImage OutputImage { get; } @@ -8267,10 +8270,7 @@ interface ICISmoothLinearGradientProtocol {} [TV (13,0)] [Mac (10,15)] [Protocol (Name = "CISmoothLinearGradient")] - // `CILinearGradientProtocol` is a bit of a lie - but it would not compile (registrar) otherwise - interface CISmoothLinearGradientProtocol : CILinearGradientProtocol { - - /* we get those from ICILinearGradientProtocol + interface CISmoothLinearGradientProtocol : CIFilterProtocol { [Abstract] [Export ("point0", ArgumentSemantic.Assign)] CGPoint InputPoint0 { get; set; } @@ -8286,7 +8286,6 @@ interface CISmoothLinearGradientProtocol : CILinearGradientProtocol { [Abstract] [Export ("color1", ArgumentSemantic.Retain)] CIColor Color1 { get; set; } - */ } interface ICISpotColorProtocol {} From 109f3bec67591c5b3c529cf2a75a3250a139de84 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 13:39:18 -0400 Subject: [PATCH 05/11] Add kCIImageAuxiliarySemanticSegmentation* to the strong dictionary and remove [Watch] attributes since that framework is not (yet?) part of watchOS --- src/coreimage.cs | 61 +++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/src/coreimage.cs b/src/coreimage.cs index 49e475394742..d7863fd4d3c6 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -392,12 +392,12 @@ interface CIContext { [Field ("kCIContextCacheIntermediates", "+CoreImage")] NSString CacheIntermediates { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("contextWithMTLCommandQueue:")] CIContext Create (IMTLCommandQueue commandQueue); - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("contextWithMTLCommandQueue:options:")] CIContext Create (IMTLCommandQueue commandQueue, [NullAllowed] NSDictionary options); @@ -503,7 +503,7 @@ interface CIContext_CIDepthBlurEffect [return: NullAllowed] CIFilter GetDepthBlurEffectFilter (CIImage image, CIImage disparityImage, [NullAllowed] CIImage portraitEffectsMatte, CGImagePropertyOrientation orientation, [NullAllowed] NSDictionary options); - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [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); @@ -1321,6 +1321,15 @@ interface CIImageInitializationOptions { [TV (12, 0), iOS (12, 0), Mac (10, 14)] bool AuxiliaryPortraitEffectsMatte { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + bool AuxiliarySemanticSegmentationSkinMatte { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + bool AuxiliarySemanticSegmentationHairMatte { get; } + + [iOS (13,0)][TV (13,0)][Mac (10,15)] + bool AuxiliarySemanticSegmentationTeethMatte { get; } } [Internal] @@ -1352,15 +1361,15 @@ interface CIImageInitializationOptionsKeys { [Field ("kCIImageAuxiliaryPortraitEffectsMatte")] NSString AuxiliaryPortraitEffectsMatteKey { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageAuxiliarySemanticSegmentationSkinMatte")] NSString AuxiliarySemanticSegmentationSkinMatteKey { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageAuxiliarySemanticSegmentationHairMatte")] NSString AuxiliarySemanticSegmentationHairMatteKey { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageAuxiliarySemanticSegmentationTeethMatte")] NSString AuxiliarySemanticSegmentationTeethMatteKey { get; } } @@ -1381,13 +1390,13 @@ interface CIImage : NSSecureCoding, NSCopying { [Wrap ("FromCGImage (image, options == null ? null : options.Dictionary)")] CIImage FromCGImage (CGImage image, [NullAllowed] CIImageInitializationOptionsWithMetadata options); - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [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)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Wrap ("FromCGImageSource (source, index, options == null ? null : options.Dictionary)")] CIImage FromCGImageSource (CGImageSource source, nuint index, [NullAllowed] CIImageInitializationOptionsWithMetadata options); @@ -1529,12 +1538,12 @@ interface CIImage : NSSecureCoding, NSCopying { [Wrap ("this (image, options == null ? null : options.Dictionary)")] IntPtr Constructor (CGImage image, [NullAllowed] CIImageInitializationOptionsWithMetadata options); - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [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)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Wrap ("this (source, index, options == null ? null : options.Dictionary)")] IntPtr Constructor (CGImageSource source, nuint index, CIImageInitializationOptionsWithMetadata options); @@ -1656,7 +1665,7 @@ interface CIImage : NSSecureCoding, NSCopying { [Export ("imageByApplyingTransform:")] CIImage ImageByApplyingTransform (CGAffineTransform matrix); - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Export ("imageByApplyingTransform:highQualityDownsample:")] CIImage ImageByApplyingTransform (CGAffineTransform matrix, bool highQualityDownsample); @@ -2036,52 +2045,52 @@ interface CIImage : NSSecureCoding, NSCopying { // colors - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("blackImage", ArgumentSemantic.Strong)] CIImage BlackImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("whiteImage", ArgumentSemantic.Strong)] CIImage WhiteImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("grayImage", ArgumentSemantic.Strong)] CIImage GrayImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("redImage", ArgumentSemantic.Strong)] CIImage RedImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("greenImage", ArgumentSemantic.Strong)] CIImage GreenImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("blueImage", ArgumentSemantic.Strong)] CIImage BlueImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("cyanImage", ArgumentSemantic.Strong)] CIImage CyanImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("magentaImage", ArgumentSemantic.Strong)] CIImage MagentaImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("yellowImage", ArgumentSemantic.Strong)] CIImage YellowImage { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] [Export ("clearImage", ArgumentSemantic.Strong)] CIImage ClearImage { get; } @@ -4948,7 +4957,7 @@ interface CIBlendKernel { [return: NullAllowed] CIImage Apply (CIImage foreground, CIImage background); - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Export ("applyWithForeground:background:colorSpace:")] [return: NullAllowed] CIImage Apply (CIImage foreground, CIImage background, CGColorSpace colorSpace); @@ -5253,19 +5262,19 @@ partial interface CIImageRepresentationKeys { [Field ("kCIImageRepresentationPortraitEffectsMatteImage")] NSString PortraitEffectsMatteImageKey { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageRepresentationAVSemanticSegmentationMattes")] NSString AVSemanticSegmentationMattesKey { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageRepresentationSemanticSegmentationSkinMatteImage")] NSString SemanticSegmentationSkinMatteImageKey { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageRepresentationSemanticSegmentationHairMatteImage")] NSString SemanticSegmentationHairMatteImageKey { get; } - [iOS (13,0)][TV (13,0)][Watch (6,0)][Mac (10,15)] + [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageRepresentationSemanticSegmentationTeethMatteImage")] NSString SemanticSegmentationTeethMatteImageKey { get; } } From 5bb6620313319e4a47e90385967dfabd7fc0bfa1 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 13:46:04 -0400 Subject: [PATCH 06/11] Use newer, nicer ?. syntax in [Wrap] --- src/coreimage.cs | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/coreimage.cs b/src/coreimage.cs index d7863fd4d3c6..0f6b2907da82 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -1387,7 +1387,7 @@ 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)] @@ -1398,7 +1398,7 @@ interface CIImage : NSSecureCoding, NSCopying { [iOS (13,0)][TV (13,0)][Mac (10,15)] [Static] - [Wrap ("FromCGImageSource (source, index, options == null ? null : options.Dictionary)")] + [Wrap ("FromCGImageSource (source, index, options?.Dictionary)")] CIImage FromCGImageSource (CGImageSource source, nuint index, [NullAllowed] CIImageInitializationOptionsWithMetadata options); #if MONOMAC @@ -1438,7 +1438,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] @@ -1451,7 +1451,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] @@ -1481,7 +1481,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 @@ -1495,7 +1495,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)] @@ -1517,7 +1517,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] @@ -1535,7 +1535,7 @@ 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)] @@ -1544,7 +1544,7 @@ interface CIImage : NSSecureCoding, NSCopying { IntPtr Constructor (CGImageSource source, nuint index, [NullAllowed] NSDictionary options); [iOS (13,0)][TV (13,0)][Mac (10,15)] - [Wrap ("this (source, index, options == null ? null : options.Dictionary)")] + [Wrap ("this (source, index, options?.Dictionary)")] IntPtr Constructor (CGImageSource source, nuint index, CIImageInitializationOptionsWithMetadata options); #if MONOMAC @@ -1557,7 +1557,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 @@ -1567,7 +1567,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:")] @@ -1584,7 +1584,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 @@ -1602,7 +1602,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)] @@ -1627,7 +1627,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)] @@ -1639,7 +1639,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:")] @@ -1797,7 +1797,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 From 470ee3c33b5acefbd540c3aeecd08411a38c0cde Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 15:59:12 -0400 Subject: [PATCH 07/11] Complete StrongDictionary (new and old entries) and check that setters are available --- src/coreimage.cs | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/coreimage.cs b/src/coreimage.cs index 0f6b2907da82..05dec17bda3c 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -1320,16 +1320,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; } + bool AuxiliarySemanticSegmentationSkinMatte { get; set; } [iOS (13,0)][TV (13,0)][Mac (10,15)] - bool AuxiliarySemanticSegmentationHairMatte { get; } + bool AuxiliarySemanticSegmentationHairMatte { get; set; } [iOS (13,0)][TV (13,0)][Mac (10,15)] - bool AuxiliarySemanticSegmentationTeethMatte { get; } + bool AuxiliarySemanticSegmentationTeethMatte { get; set; } } [Internal] @@ -5264,7 +5264,7 @@ partial interface CIImageRepresentationKeys { [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageRepresentationAVSemanticSegmentationMattes")] - NSString AVSemanticSegmentationMattesKey { get; } + NSString SemanticSegmentationMattesKey { get; } [iOS (13,0)][TV (13,0)][Mac (10,15)] [Field ("kCIImageRepresentationSemanticSegmentationSkinMatteImage")] @@ -5287,17 +5287,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; } - bool DepthImage { get; set; } + CIImage DepthImage { get; set; } - bool DisparityImage { get; set; } + CIImage 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] From 84bef7ffa5fa689895ffbab5e307217f77582940 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 22:52:49 -0400 Subject: [PATCH 08/11] Update xtro since CISmoothLinearGradient is now implemented correctly (no hack) --- tests/xtro-sharpie/common-CoreImage.ignore | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/tests/xtro-sharpie/common-CoreImage.ignore b/tests/xtro-sharpie/common-CoreImage.ignore index 559f5e55693c..f67e10b63bea 100644 --- a/tests/xtro-sharpie/common-CoreImage.ignore +++ b/tests/xtro-sharpie/common-CoreImage.ignore @@ -16,17 +16,6 @@ ## stub using 'autoAdjustmentFiltersWithOptions:'. Now it's back (in headers but can be ignored) !missing-selector! CIImage::autoAdjustmentFilters not bound -## CISmoothLinearGradient[Protocol] inherits from CILinearGradient[Protocol] that already have the same members -## and the registrar does not like duplicates too -!missing-protocol-member! CISmoothLinearGradient::color0 not found -!missing-protocol-member! CISmoothLinearGradient::color1 not found -!missing-protocol-member! CISmoothLinearGradient::point0 not found -!missing-protocol-member! CISmoothLinearGradient::point1 not found -!missing-protocol-member! CISmoothLinearGradient::setColor0: not found -!missing-protocol-member! CISmoothLinearGradient::setColor1: not found -!missing-protocol-member! CISmoothLinearGradient::setPoint0: not found -!missing-protocol-member! CISmoothLinearGradient::setPoint1: not found - ## we already provide alternative API to create the filters !missing-selector! +CIFilter::accordionFoldTransitionFilter not bound !missing-selector! +CIFilter::additionCompositingFilter not bound From 9e642262c6319e85ed181a385b780b4b85e7515f Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Fri, 11 Oct 2019 22:54:04 -0400 Subject: [PATCH 09/11] Fix intro in macOS and older iOS versions --- src/coreimage.cs | 17 +++++++++++++++++ tests/introspection/ApiCoreImageFiltersTest.cs | 15 +++++++++++++++ tests/introspection/ApiTypoTest.cs | 1 + 3 files changed, 33 insertions(+) diff --git a/src/coreimage.cs b/src/coreimage.cs index 05dec17bda3c..7cb78cfec7ed 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -2864,6 +2864,11 @@ interface CIAreaAverage { [CoreImageFilterProperty ("outputImageNonMPS")] CIImage OutputImageNonMps { get; } + +#if MONOMAC + [CoreImageFilterProperty ("outputImageMPS")] + CIImage OutputImageMps { get; } +#endif } [CoreImageFilter] @@ -2886,6 +2891,11 @@ interface CIAreaHistogram { [CoreImageFilterProperty ("outputImageNonMPS")] CIImage OutputImageNonMps { get; } +#if MONOMAC + [CoreImageFilterProperty ("outputImageMPS")] + CIImage OutputImageMps { get; } +#endif + [CoreImageFilterProperty ("outputData")] NSData OutputData { get; } } @@ -5321,6 +5331,11 @@ interface CIAreaMinMax { [CoreImageFilterProperty ("outputImageNonMPS")] CIImage OutputImageNonMps { get; } + +#if MONOMAC + [CoreImageFilterProperty ("outputImageMPS")] + CIImage OutputImageMps { get; } +#endif } [CoreImageFilter] @@ -7919,6 +7934,7 @@ interface CIPerspectiveCorrectionProtocol : CIFourCoordinateGeometryFilterProtoc [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; } } @@ -8232,6 +8248,7 @@ interface CISharpenLuminanceProtocol : CIFilterProtocol { [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; } } diff --git a/tests/introspection/ApiCoreImageFiltersTest.cs b/tests/introspection/ApiCoreImageFiltersTest.cs index 209fb4788415..b6c251caca24 100644 --- a/tests/introspection/ApiCoreImageFiltersTest.cs +++ b/tests/introspection/ApiCoreImageFiltersTest.cs @@ -398,6 +398,10 @@ public void Keys () 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 @@ -483,6 +487,9 @@ public void Keys () switch (t.Name) { case "CIKeystoneCorrectionCombined": case "CIKeystoneCorrectionHorizontal": +#if MONOMAC + case "CIKeystoneCorrectionVertical": +#endif switch (key) { case "outputRotationFilter": continue; // lack of documentation about the returned type @@ -496,6 +503,14 @@ public void Keys () 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); 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", From 7bce413aecf6eb9c8dc6accbadbc635d7ce35885 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Sun, 13 Oct 2019 10:27:09 -0400 Subject: [PATCH 10/11] Inconsistent across versions --- tests/introspection/ApiCoreImageFiltersTest.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/introspection/ApiCoreImageFiltersTest.cs b/tests/introspection/ApiCoreImageFiltersTest.cs index b6c251caca24..d243613a603b 100644 --- a/tests/introspection/ApiCoreImageFiltersTest.cs +++ b/tests/introspection/ApiCoreImageFiltersTest.cs @@ -487,9 +487,7 @@ public void Keys () switch (t.Name) { case "CIKeystoneCorrectionCombined": case "CIKeystoneCorrectionHorizontal": -#if MONOMAC case "CIKeystoneCorrectionVertical": -#endif switch (key) { case "outputRotationFilter": continue; // lack of documentation about the returned type From d228c7d1561481852153ce84e1674958e0c4f101 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Tue, 15 Oct 2019 11:36:15 -0400 Subject: [PATCH 11/11] Make CIFilter generator more consistent with how (protocol) bindings are used for other NSObject types --- src/coreimage.cs | 562 ++++++++++----------------------------- src/generator-filters.cs | 18 +- 2 files changed, 145 insertions(+), 435 deletions(-) diff --git a/src/coreimage.cs b/src/coreimage.cs index 7cb78cfec7ed..f828bc6e8085 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -1165,8 +1165,6 @@ interface CIFilterCategory { NSString FilterGenerator { get; } } - interface ICIFilterConstructor {} - [iOS (9,0)] [Protocol] interface CIFilterConstructor @@ -2797,7 +2795,7 @@ interface CIImageProcessorKernel { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CIAccordionFoldTransition : ICIAccordionFoldTransitionProtocol { + interface CIAccordionFoldTransition : CIAccordionFoldTransitionProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'FoldCount' instead.")] @@ -2826,7 +2824,7 @@ interface CIAdditionCompositing { [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic [Abstract] [BaseType (typeof (CIFilter))] - interface CIAffineFilter : ICIFilterProtocol { + interface CIAffineFilter : CIFilterProtocol { #if !XAMCORE_4_0 [NoMac] @@ -2838,12 +2836,12 @@ interface CIAffineFilter : ICIFilterProtocol { [CoreImageFilter] [BaseType (typeof (CIAffineFilter))] - interface CIAffineClamp : ICIAffineClampProtocol { + interface CIAffineClamp : CIAffineClampProtocol { } [CoreImageFilter] [BaseType (typeof (CIAffineFilter))] - interface CIAffineTile : ICIAffineTileProtocol { + interface CIAffineTile : CIAffineTileProtocol { } [CoreImageFilter] @@ -2949,7 +2947,7 @@ interface CICodeGenerator { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CICodeGenerator))] - interface CIAztecCodeGenerator : ICIAztecCodeGeneratorProtocol { + interface CIAztecCodeGenerator : CIAztecCodeGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCompactStyle' instead.")] @@ -2968,7 +2966,7 @@ interface CIAztecCodeGenerator : ICIAztecCodeGeneratorProtocol { [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic [Abstract] [BaseType (typeof (CIFilter))] - interface CITransitionFilter : ICITransitionFilterProtocol { + interface CITransitionFilter : CITransitionFilterProtocol { } [CoreImageFilter] @@ -2994,7 +2992,7 @@ interface CIBlendWithAlphaMask { [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIBlendFilter))] - interface CIBlendWithMask : ICIBlendWithMaskProtocol { + interface CIBlendWithMask : CIBlendWithMaskProtocol { #if !XAMCORE_4_0 // renamed for API compatibility @@ -3006,13 +3004,13 @@ interface CIBlendWithMask : ICIBlendWithMaskProtocol { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIBloom : ICIBloomProtocol { + interface CIBloom : CIBloomProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIBoxBlur : ICIBoxBlurProtocol { + interface CIBoxBlur : CIBoxBlurProtocol { } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -3051,7 +3049,7 @@ interface CIBumpDistortionLinear { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CICheckerboardGenerator : ICICheckerboardGeneratorProtocol { + interface CICheckerboardGenerator : CICheckerboardGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] @@ -3088,7 +3086,7 @@ interface CIScreenFilter { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CICircularScreen : ICICircularScreenProtocol { + interface CICircularScreen : CICircularScreenProtocol { } [CoreImageFilter] @@ -3112,7 +3110,7 @@ interface CICircularWrap { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter), Name="CICMYKHalftone")] - interface CICmykHalftone : ICICmykHalftoneProtocol { + interface CICmykHalftone : CICmykHalftoneProtocol { #if !XAMCORE_4_0 // renamed for API compatibility @@ -3130,7 +3128,7 @@ interface CICmykHalftone : ICICmykHalftoneProtocol { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CICodeGenerator))] - interface CICode128BarcodeGenerator : ICICode128BarcodeGeneratorProtocol { + interface CICode128BarcodeGenerator : CICode128BarcodeGeneratorProtocol { [CoreImageFilterProperty ("outputCGImage")] CIImage OutputCGImage { get; } @@ -3162,7 +3160,7 @@ interface CIColorBurnBlendMode { [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIColorClamp : ICIColorClampProtocol { + interface CIColorClamp : CIColorClampProtocol { #if !XAMCORE_4_0 // here the prefix was not removed, edited to keep API compatibility @@ -3179,26 +3177,26 @@ interface CIColorClamp : ICIColorClampProtocol { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorControls : ICIColorControlsProtocol { + 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 : ICIColorCrossPolynomialProtocol { + interface CIColorCrossPolynomial : CIColorCrossPolynomialProtocol { } [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIFilter))] - interface CIColorCube : ICIColorCubeProtocol { + interface CIColorCube : CIColorCubeProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIColorCube))] - interface CIColorCubeWithColorSpace : ICIColorCubeWithColorSpaceProtocol { + interface CIColorCubeWithColorSpace : CIColorCubeWithColorSpaceProtocol { } [CoreImageFilter] @@ -3208,34 +3206,34 @@ interface CIColorDodgeBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorInvert : ICIColorInvertProtocol { + interface CIColorInvert : CIColorInvertProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMap : ICIColorMapProtocol { + interface CIColorMap : CIColorMapProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMatrix : ICIColorMatrixProtocol { + interface CIColorMatrix : CIColorMatrixProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorMonochrome : ICIColorMonochromeProtocol { + interface CIColorMonochrome : CIColorMonochromeProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIColorCrossPolynomial))] - interface CIColorPolynomial : ICIColorPolynomialProtocol { + interface CIColorPolynomial : CIColorPolynomialProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIColorPosterize : ICIColorPosterizeProtocol { + interface CIColorPosterize : CIColorPosterizeProtocol { } [CoreImageFilter] @@ -3248,7 +3246,7 @@ interface CIColumnAverage { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIComicEffect : ICIComicEffectProtocol { + interface CIComicEffect : CIComicEffectProtocol { } [CoreImageFilter] @@ -3343,7 +3341,7 @@ interface CICrop { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CICrystallize : ICICrystallizeProtocol { + interface CICrystallize : CICrystallizeProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] @@ -3365,12 +3363,12 @@ interface CIDifferenceBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIDiscBlur : ICIDiscBlurProtocol { + interface CIDiscBlur : CIDiscBlurProtocol { } [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIDisintegrateWithMaskTransition : ICIDisintegrateWithMaskTransitionProtocol { + interface CIDisintegrateWithMaskTransition : CIDisintegrateWithMaskTransitionProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'MaskImage' instead.")] @@ -3412,7 +3410,7 @@ interface CIDivideBlendMode { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CIDotScreen : ICIDotScreenProtocol { + interface CIDotScreen : CIDotScreenProtocol { } [CoreImageFilter] @@ -3445,13 +3443,13 @@ interface CIDroste { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIEdges : ICIEdgesProtocol { + interface CIEdges : CIEdgesProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIEdgeWork : ICIEdgeWorkProtocol { + interface CIEdgeWork : CIEdgeWorkProtocol { } [CoreImageFilter (IntPtrCtorVisibility = MethodAttributes.Family)] // was already protected in classic @@ -3477,7 +3475,7 @@ interface CITileFilter { [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIEightfoldReflectedTile : ICIEightfoldReflectedTileProtocol { + interface CIEightfoldReflectedTile : CIEightfoldReflectedTileProtocol { } [CoreImageFilter] @@ -3487,17 +3485,17 @@ interface CIExclusionBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIExposureAdjust : ICIExposureAdjustProtocol { + interface CIExposureAdjust : CIExposureAdjustProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIFalseColor : ICIFalseColorProtocol { + interface CIFalseColor : CIFalseColorProtocol { } [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIFlashTransition : ICIFlashTransitionProtocol { + interface CIFlashTransition : CIFlashTransitionProtocol { #if !XAMCORE_4_0 // for some reason we prefixed all Striation* with Max - API compatibility @@ -3522,32 +3520,32 @@ interface CIFlashTransition : ICIFlashTransitionProtocol { [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldReflectedTile : ICIFourfoldReflectedTileProtocol { + interface CIFourfoldReflectedTile : CIFourfoldReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldRotatedTile : ICIFourfoldRotatedTileProtocol { + interface CIFourfoldRotatedTile : CIFourfoldRotatedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIFourfoldTranslatedTile : ICIFourfoldTranslatedTileProtocol { + interface CIFourfoldTranslatedTile : CIFourfoldTranslatedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGammaAdjust : ICIGammaAdjustProtocol { + interface CIGammaAdjust : CIGammaAdjustProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGaussianBlur : ICIGaussianBlurProtocol { + interface CIGaussianBlur : CIGaussianBlurProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGaussianGradient : ICIGaussianGradientProtocol { + interface CIGaussianGradient : CIGaussianGradientProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] @@ -3597,12 +3595,12 @@ interface CIGlassLozenge { [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CIGlideReflectedTile : ICIGlideReflectedTileProtocol { + interface CIGlideReflectedTile : CIGlideReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIGloom : ICIGloomProtocol { + interface CIGloom : CIGloomProtocol { } [CoreImageFilter] @@ -3612,19 +3610,19 @@ interface CIHardLightBlendMode { [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CIHatchedScreen : ICIHatchedScreenProtocol { + interface CIHatchedScreen : CIHatchedScreenProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIHeightFieldFromMask : ICIHeightFieldFromMaskProtocol { + interface CIHeightFieldFromMask : CIHeightFieldFromMaskProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIHexagonalPixellate : ICIHexagonalPixellateProtocol { + interface CIHexagonalPixellate : CIHexagonalPixellateProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] @@ -3635,7 +3633,7 @@ interface CIHexagonalPixellate : ICIHexagonalPixellateProtocol { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIHighlightShadowAdjust : ICIHighlightShadowAdjustProtocol { + interface CIHighlightShadowAdjust : CIHighlightShadowAdjustProtocol { } [CoreImageFilter] @@ -3664,7 +3662,7 @@ interface CIHoleDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIHueAdjust : ICIHueAdjustProtocol { + interface CIHueAdjust : CIHueAdjustProtocol { } [CoreImageFilter] @@ -3675,7 +3673,7 @@ interface CIHueBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIKaleidoscope : ICIKaleidoscopeProtocol { + interface CIKaleidoscope : CIKaleidoscopeProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCount' instead.")] @@ -3690,13 +3688,13 @@ interface CIKaleidoscope : ICIKaleidoscopeProtocol { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CILanczosScaleTransform : ICILanczosScaleTransformProtocol { + interface CILanczosScaleTransform : CILanczosScaleTransformProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CILenticularHaloGenerator : ICILenticularHaloGeneratorProtocol { + interface CILenticularHaloGenerator : CILenticularHaloGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] @@ -3744,7 +3742,7 @@ interface CILinearDodgeBlendMode { [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIFilter))] - interface CILinearGradient : ICILinearGradientProtocol { + interface CILinearGradient : CILinearGradientProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputPoint1' instead.")] @@ -3761,18 +3759,18 @@ interface CILinearGradient : ICILinearGradientProtocol { [iOS (7,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CILinearToSRGBToneCurve : ICILinearToSrgbToneCurveProtocol { + interface CILinearToSRGBToneCurve : CILinearToSrgbToneCurveProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CILineOverlay : ICILineOverlayProtocol { + interface CILineOverlay : CILineOverlayProtocol { } [CoreImageFilter] [BaseType (typeof (CIScreenFilter))] - interface CILineScreen : ICILineScreenProtocol { + interface CILineScreen : CILineScreenProtocol { } [CoreImageFilter] @@ -3782,12 +3780,12 @@ interface CILuminosityBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaskToAlpha : ICIMaskToAlphaProtocol { + interface CIMaskToAlpha : CIMaskToAlphaProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaximumComponent : ICIMaximumComponentProtocol { + interface CIMaximumComponent : CIMaximumComponentProtocol { } [CoreImageFilter] @@ -3798,12 +3796,12 @@ interface CIMaximumCompositing { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIMedianFilter : ICIMedianProtocol { + interface CIMedianFilter : CIMedianProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMinimumComponent : ICIMinimumComponentProtocol { + interface CIMinimumComponent : CIMinimumComponentProtocol { } [CoreImageFilter] @@ -3813,7 +3811,7 @@ interface CIMinimumCompositing { [CoreImageFilter] [BaseType (typeof (CITransitionFilter))] - interface CIModTransition : ICIModTransitionProtocol { + interface CIModTransition : CIModTransitionProtocol { #if !XAMCORE_4_0 [CoreImageFilterProperty ("inputCenter")] @@ -3824,7 +3822,7 @@ interface CIModTransition : ICIModTransitionProtocol { [CoreImageFilter] [iOS (8,3)] [BaseType (typeof (CILinearBlur))] - interface CIMotionBlur : ICIMotionBlurProtocol { + interface CIMotionBlur : CIMotionBlurProtocol { } [CoreImageFilter] @@ -3840,13 +3838,13 @@ interface CIMultiplyCompositing { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CINoiseReduction : ICINoiseReductionProtocol { + interface CINoiseReduction : CINoiseReductionProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITileFilter))] - interface CIOpTile : ICIOpTileProtocol { + interface CIOpTile : CIOpTileProtocol { } [CoreImageFilter] @@ -3857,7 +3855,7 @@ interface CIOverlayBlendMode { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITransitionFilter))] - interface CIPageCurlTransition : ICIPageCurlTransitionProtocol { + interface CIPageCurlTransition : CIPageCurlTransitionProtocol { #if !XAMCORE_4_0 [CoreImageFilterProperty ("inputExtent")] @@ -3868,7 +3866,7 @@ interface CIPageCurlTransition : ICIPageCurlTransitionProtocol { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIPageCurlWithShadowTransition : ICIPageCurlWithShadowTransitionProtocol { + interface CIPageCurlWithShadowTransition : CIPageCurlWithShadowTransitionProtocol { #if !XAMCORE_4_0 // prefixed for API compatibility @@ -3889,14 +3887,14 @@ interface CIPageCurlWithShadowTransition : ICIPageCurlWithShadowTransitionProtoc [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITileFilter))] - interface CIParallelogramTile : ICIParallelogramTileProtocol { + interface CIParallelogramTile : CIParallelogramTileProtocol { } [CoreImageFilter] [iOS (9,0)] [Mac (10,11)] [BaseType (typeof (CICodeGenerator), Name="CIPDF417BarcodeGenerator")] - interface CIPdf417BarcodeGenerator : ICIPdf417BarcodeGeneratorProtocol { + interface CIPdf417BarcodeGenerator : CIPdf417BarcodeGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCorrectionLevel' instead.")] [CoreImageFilterProperty ("inputCorrectionLevel")] @@ -3931,12 +3929,12 @@ interface CIPdf417BarcodeGenerator : ICIPdf417BarcodeGeneratorProtocol { [iOS (8,0)] [Mac (10,10)] [BaseType (typeof (CIPerspectiveTransform))] - interface CIPerspectiveCorrection : ICIPerspectiveCorrectionProtocol { + interface CIPerspectiveCorrection : CIPerspectiveCorrectionProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIPerspectiveTile : ICIPerspectiveTileProtocol { + interface CIPerspectiveTile : CIPerspectiveTileProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputBottomLeft' instead.")] [CoreImageFilterProperty ("inputBottomLeft")] @@ -3958,7 +3956,7 @@ interface CIPerspectiveTile : ICIPerspectiveTileProtocol { [CoreImageFilter (DefaultCtorVisibility = MethodAttributes.Public, StringCtorVisibility = MethodAttributes.Public)] [BaseType (typeof (CIFilter))] - interface CIPerspectiveTransform : ICIPerspectiveTransformProtocol { + interface CIPerspectiveTransform : CIPerspectiveTransformProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputBottomLeft' instead.")] [CoreImageFilterProperty ("inputBottomLeft")] @@ -3984,7 +3982,7 @@ interface CIPerspectiveTransform : ICIPerspectiveTransformProtocol { [CoreImageFilter] [Mac (10,11)] [BaseType (typeof (CIPerspectiveTransform))] - interface CIPerspectiveTransformWithExtent : ICIPerspectiveTransformWithExtentProtocol { + interface CIPerspectiveTransformWithExtent : CIPerspectiveTransformWithExtentProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] @@ -3997,7 +3995,7 @@ interface CIPerspectiveTransformWithExtent : ICIPerspectiveTransformWithExtentPr [Mac (10,9)] [Abstract] [BaseType (typeof (CIFilter))] - interface CIPhotoEffect : ICIPhotoEffectProtocol { + interface CIPhotoEffect : CIPhotoEffectProtocol { } [CoreImageFilter] @@ -4073,7 +4071,7 @@ interface CIPinLightBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIPixellate : ICIPixellateProtocol { + interface CIPixellate : CIPixellateProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] @@ -4084,7 +4082,7 @@ interface CIPixellate : ICIPixellateProtocol { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIPointillize : ICIPointillizeProtocol { + interface CIPointillize : CIPointillizeProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] @@ -4096,7 +4094,7 @@ interface CIPointillize : ICIPointillizeProtocol { [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CICodeGenerator))] - interface CIQRCodeGenerator : ICIQRCodeGeneratorProtocol { + interface CIQRCodeGenerator : CIQRCodeGeneratorProtocol { [CoreImageFilterProperty ("outputCGImage")] CGImage OutputCGImage { get; } @@ -4104,7 +4102,7 @@ interface CIQRCodeGenerator : ICIQRCodeGeneratorProtocol { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIRadialGradient : ICIRadialGradientProtocol { + interface CIRadialGradient : CIRadialGradientProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] @@ -4115,13 +4113,13 @@ interface CIRadialGradient : ICIRadialGradientProtocol { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIRandomGenerator : ICIRandomGeneratorProtocol { + interface CIRandomGenerator : CIRandomGeneratorProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITransitionFilter))] - interface CIRippleTransition : ICIRippleTransitionProtocol { + interface CIRippleTransition : CIRippleTransitionProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputExtent' instead.")] [CoreImageFilterProperty ("inputExtent")] @@ -4157,34 +4155,34 @@ interface CIScreenBlendMode { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CISepiaTone : ICISepiaToneProtocol { + interface CISepiaTone : CISepiaToneProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIShadedMaterial : ICIShadedMaterialProtocol { + interface CIShadedMaterial : CIShadedMaterialProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CISharpenLuminance : ICISharpenLuminanceProtocol { + interface CISharpenLuminance : CISharpenLuminanceProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CISixfoldReflectedTile : ICISixfoldReflectedTileProtocol { + interface CISixfoldReflectedTile : CISixfoldReflectedTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CISixfoldRotatedTile : ICISixfoldRotatedTileProtocol { + interface CISixfoldRotatedTile : CISixfoldRotatedTileProtocol { } [CoreImageFilter] [Mac (10,11)] [BaseType (typeof (CILinearGradient))] - interface CISmoothLinearGradient : ICISmoothLinearGradientProtocol { + interface CISmoothLinearGradient : CISmoothLinearGradientProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputPoint1' instead.")] [CoreImageFilterProperty ("inputPoint1")] @@ -4224,25 +4222,25 @@ interface CISourceOverCompositing { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CISpotColor : ICISpotColorProtocol { + interface CISpotColor : CISpotColorProtocol { } [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CISpotLight : ICISpotLightProtocol { + interface CISpotLight : CISpotLightProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,10)] [BaseType (typeof (CIFilter))] - interface CISRGBToneCurveToLinear : ICISrgbToneCurveToLinearProtocol { + interface CISRGBToneCurveToLinear : CISrgbToneCurveToLinearProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIStarShineGenerator : ICIStarShineGeneratorProtocol { + interface CIStarShineGenerator : CIStarShineGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] @@ -4252,7 +4250,7 @@ interface CIStarShineGenerator : ICIStarShineGeneratorProtocol { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIStraightenFilter : ICIStraightenProtocol { + interface CIStraightenFilter : CIStraightenProtocol { } [CoreImageFilter] @@ -4275,7 +4273,7 @@ interface CIStretchCrop { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIStripesGenerator : ICIStripesGeneratorProtocol { + interface CIStripesGenerator : CIStripesGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] @@ -4312,12 +4310,12 @@ interface CISwipeTransition { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CITemperatureAndTint : ICITemperatureAndTintProtocol { + interface CITemperatureAndTint : CITemperatureAndTintProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIToneCurve : ICIToneCurveProtocol { + interface CIToneCurve : CIToneCurveProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputPoint0' instead.")] [CoreImageFilterProperty ("inputPoint0")] @@ -4365,7 +4363,7 @@ interface CITorusLensDistortion { [CoreImageFilter] [Mac (10,11)] [BaseType (typeof (CIFilter))] - interface CITriangleKaleidoscope : ICITriangleKaleidoscopeProtocol { + interface CITriangleKaleidoscope : CITriangleKaleidoscopeProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputPoint' instead.")] [CoreImageFilterProperty ("inputPoint")] @@ -4376,12 +4374,12 @@ interface CITriangleKaleidoscope : ICITriangleKaleidoscopeProtocol { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CITileFilter))] - interface CITriangleTile : ICITriangleTileProtocol { + interface CITriangleTile : CITriangleTileProtocol { } [CoreImageFilter] [BaseType (typeof (CITileFilter))] - interface CITwelvefoldReflectedTile : ICITwelvefoldReflectedTileProtocol { + interface CITwelvefoldReflectedTile : CITwelvefoldReflectedTileProtocol { } [CoreImageFilter] @@ -4394,25 +4392,25 @@ interface CITwirlDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIUnsharpMask : ICIUnsharpMaskProtocol { + interface CIUnsharpMask : CIUnsharpMaskProtocol { } [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIVibrance : ICIVibranceProtocol { + interface CIVibrance : CIVibranceProtocol { } [CoreImageFilter] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIVignette : ICIVignetteProtocol { + interface CIVignette : CIVignetteProtocol { } [CoreImageFilter] [iOS (7,0)] [Mac (10,9)] [BaseType (typeof (CIFilter))] - interface CIVignetteEffect : ICIVignetteEffectProtocol { + interface CIVignetteEffect : CIVignetteEffectProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] @@ -4431,13 +4429,13 @@ interface CIVortexDistortion { [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIWhitePointAdjust : ICIWhitePointAdjustProtocol { + interface CIWhitePointAdjust : CIWhitePointAdjustProtocol { } [CoreImageFilter] [iOS (8,3)] [BaseType (typeof (CIFilter))] - interface CIZoomBlur : ICIZoomBlurProtocol { + interface CIZoomBlur : CIZoomBlurProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] @@ -4448,7 +4446,7 @@ interface CIZoomBlur : ICIZoomBlurProtocol { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CIDepthOfField : ICIDepthOfFieldProtocol { + interface CIDepthOfField : CIDepthOfFieldProtocol { #if !XAMCORE_4_0 // renamed 1 vs 0 for API compatibility @@ -4466,7 +4464,7 @@ interface CIDepthOfField : ICIDepthOfFieldProtocol { [CoreImageFilter] [iOS (9,0)] [BaseType (typeof (CIFilter))] - interface CISunbeamsGenerator : ICISunbeamsGeneratorProtocol { + interface CISunbeamsGenerator : CISunbeamsGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputCenter' instead.")] [CoreImageFilterProperty ("inputCenter")] @@ -4489,7 +4487,7 @@ interface CIFaceBalance { [TV (9,2)] [CoreImageFilter] [BaseType (typeof (CIFilter))] - interface CIMaskedVariableBlur : ICIMaskedVariableBlurProtocol { + interface CIMaskedVariableBlur : CIMaskedVariableBlurProtocol { } [CoreImageFilter] @@ -4511,7 +4509,7 @@ interface CIClamp { [Mac (10,12)] [TV (10,0)] [BaseType (typeof (CIFilter))] - interface CIHueSaturationValueGradient : ICIHueSaturationValueGradientProtocol { + interface CIHueSaturationValueGradient : CIHueSaturationValueGradientProtocol { } [CoreImageFilter] @@ -4562,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 : ICIThermalProtocol { + interface CIThermal : CIThermalProtocol { } [CoreImageFilter] @@ -4570,7 +4568,7 @@ interface CIThermal : ICIThermalProtocol { [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 : ICIXRayProtocol { + interface CIXRay : CIXRayProtocol { } [CoreImageFilter] @@ -4599,7 +4597,7 @@ interface CIImageGenerator { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIImageGenerator))] - interface CIAttributedTextImageGenerator : ICIAttributedTextImageGeneratorProtocol { + interface CIAttributedTextImageGenerator : CIAttributedTextImageGeneratorProtocol { } [CoreImageFilter] @@ -4607,7 +4605,7 @@ interface CIAttributedTextImageGenerator : ICIAttributedTextImageGeneratorProtoc [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CIBarcodeGenerator : ICIBarcodeGeneratorProtocol { + interface CIBarcodeGenerator : CIBarcodeGeneratorProtocol { [CoreImageFilterProperty ("outputCGImageForQRCodeDescriptor")] CGImage OutputCGImageForQRCodeDescriptor { get; } @@ -4632,7 +4630,7 @@ interface CIBarcodeGenerator : ICIBarcodeGeneratorProtocol { // 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 : ICIBicubicScaleTransformProtocol { + interface CIBicubicScaleTransform : CIBicubicScaleTransformProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'ParameterB' instead.")] @@ -4658,7 +4656,7 @@ interface CILinearBlur { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CILinearBlur))] - interface CIBokehBlur : ICIBokehBlurProtocol { + interface CIBokehBlur : CIBokehBlurProtocol { } [CoreImageFilter] @@ -4666,7 +4664,7 @@ interface CIBokehBlur : ICIBokehBlurProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] // Could almost be typeof 'CIColorCube' but property is 'inputCube0Data' not 'inputCubeData' - interface CIColorCubesMixedWithMask : ICIColorCubesMixedWithMaskProtocol { + interface CIColorCubesMixedWithMask : CIColorCubesMixedWithMaskProtocol { } [CoreImageFilter] @@ -4674,7 +4672,7 @@ interface CIColorCubesMixedWithMask : ICIColorCubesMixedWithMaskProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CIColorCurves : ICIColorCurvesProtocol { + interface CIColorCurves : CIColorCurvesProtocol { } [CoreImageFilter] @@ -4748,7 +4746,7 @@ interface CIDepthDisparityConverter {} [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIDepthDisparityConverter))] - interface CIDepthToDisparity : ICIDepthToDisparityProtocol { + interface CIDepthToDisparity : CIDepthToDisparityProtocol { } [CoreImageFilter] @@ -4756,7 +4754,7 @@ interface CIDepthToDisparity : ICIDepthToDisparityProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIDepthDisparityConverter))] - interface CIDisparityToDepth : ICIDisparityToDepthProtocol { + interface CIDisparityToDepth : CIDisparityToDepthProtocol { } [CoreImageFilter] @@ -4764,7 +4762,7 @@ interface CIDisparityToDepth : ICIDisparityToDepthProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CIEdgePreserveUpsampleFilter : ICIEdgePreserveUpsampleProtocol { + interface CIEdgePreserveUpsampleFilter : CIEdgePreserveUpsampleProtocol { } [CoreImageFilter] @@ -4772,7 +4770,7 @@ interface CIEdgePreserveUpsampleFilter : ICIEdgePreserveUpsampleProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIFilter))] - interface CILabDeltaE : ICILabDeltaEProtocol { + interface CILabDeltaE : CILabDeltaEProtocol { } [CoreImageFilter] @@ -4780,7 +4778,7 @@ interface CILabDeltaE : ICILabDeltaEProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIImageGenerator))] - interface CITextImageGenerator : ICITextImageGeneratorProtocol { + interface CITextImageGenerator : CITextImageGeneratorProtocol { } [CoreImageFilter] @@ -4799,7 +4797,7 @@ interface CIMorphology { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyGradient : ICIMorphologyGradientProtocol { + interface CIMorphologyGradient : CIMorphologyGradientProtocol { } [CoreImageFilter] @@ -4807,7 +4805,7 @@ interface CIMorphologyGradient : ICIMorphologyGradientProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyMaximum : ICIMorphologyMaximumProtocol { + interface CIMorphologyMaximum : CIMorphologyMaximumProtocol { } [CoreImageFilter] @@ -4815,7 +4813,7 @@ interface CIMorphologyMaximum : ICIMorphologyMaximumProtocol { [Mac (10,13)] [TV (11,0)] [BaseType (typeof (CIMorphology))] - interface CIMorphologyMinimum : ICIMorphologyMinimumProtocol { + interface CIMorphologyMinimum : CIMorphologyMinimumProtocol { } [CoreImageFilter] @@ -5343,7 +5341,7 @@ interface CIAreaMinMax { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CIDither : ICIDitherProtocol { + interface CIDither : CIDitherProtocol { } [CoreImageFilter] @@ -5371,7 +5369,7 @@ interface CIGuidedFilter { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CIMeshGenerator : ICIMeshGeneratorProtocol { + interface CIMeshGenerator : CIMeshGeneratorProtocol { } [CoreImageFilter] @@ -5379,7 +5377,7 @@ interface CIMeshGenerator : ICIMeshGeneratorProtocol { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CIMix : ICIMixProtocol { + interface CIMix : CIMixProtocol { } [CoreImageFilter] @@ -5435,7 +5433,7 @@ interface CICoreMLModelFilter { [TV (12,0)] [Mac (10,14)] [BaseType (typeof (CIFilter))] - interface CISaliencyMapFilter : ICISaliencyMapProtocol { + interface CISaliencyMapFilter : CISaliencyMapProtocol { } [CoreImageFilter] @@ -5443,7 +5441,7 @@ interface CISaliencyMapFilter : ICISaliencyMapProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIDocumentEnhancer : ICIDocumentEnhancerProtocol { + interface CIDocumentEnhancer : CIDocumentEnhancerProtocol { } [CoreImageFilter] @@ -5496,7 +5494,7 @@ interface CIMorphologyRectangle { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIMorphologyRectangle))] - interface CIMorphologyRectangleMaximum : ICIMorphologyRectangleMaximumProtocol { + interface CIMorphologyRectangleMaximum : CIMorphologyRectangleMaximumProtocol { } [CoreImageFilter] @@ -5504,7 +5502,7 @@ interface CIMorphologyRectangleMaximum : ICIMorphologyRectangleMaximumProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIMorphologyRectangle))] - interface CIMorphologyRectangleMinimum : ICIMorphologyRectangleMinimumProtocol { + interface CIMorphologyRectangleMinimum : CIMorphologyRectangleMinimumProtocol { } [CoreImageFilter] @@ -5512,7 +5510,7 @@ interface CIMorphologyRectangleMinimum : ICIMorphologyRectangleMinimumProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIPaletteCentroid : ICIPaletteCentroidProtocol { + interface CIPaletteCentroid : CIPaletteCentroidProtocol { } [CoreImageFilter] @@ -5520,7 +5518,7 @@ interface CIPaletteCentroid : ICIPaletteCentroidProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIPalettize : ICIPalettizeProtocol { + interface CIPalettize : CIPalettizeProtocol { } [CoreImageFilter] @@ -5570,7 +5568,7 @@ interface CIKeystoneCorrection { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionCombined : ICIKeystoneCorrectionCombinedProtocol { + interface CIKeystoneCorrectionCombined : CIKeystoneCorrectionCombinedProtocol { [CoreImageFilterProperty ("outputTransform")] CGAffineTransform OutputTransform { get; } @@ -5581,7 +5579,7 @@ interface CIKeystoneCorrectionCombined : ICIKeystoneCorrectionCombinedProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionHorizontal : ICIKeystoneCorrectionHorizontalProtocol { + interface CIKeystoneCorrectionHorizontal : CIKeystoneCorrectionHorizontalProtocol { #if false // no documentation about the type [CoreImageFilterProperty ("outputRotationFilter")] @@ -5597,7 +5595,7 @@ interface CIKeystoneCorrectionHorizontal : ICIKeystoneCorrectionHorizontalProtoc [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIKeystoneCorrection))] - interface CIKeystoneCorrectionVertical : ICIKeystoneCorrectionVerticalProtocol { + interface CIKeystoneCorrectionVertical : CIKeystoneCorrectionVerticalProtocol { #if false // no documentation about the type [CoreImageFilterProperty ("outputRotationFilter")] @@ -5613,7 +5611,7 @@ interface CIKeystoneCorrectionVertical : ICIKeystoneCorrectionVerticalProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIPerspectiveRotate : ICIPerspectiveRotateProtocol { + interface CIPerspectiveRotate : CIPerspectiveRotateProtocol { [CoreImageFilterProperty ("outputTransform")] CGAffineTransform OutputTransform { get; } @@ -5624,7 +5622,7 @@ interface CIPerspectiveRotate : ICIPerspectiveRotateProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIGaborGradients : ICIGaborGradientsProtocol { + interface CIGaborGradients : CIGaborGradientsProtocol { } [CoreImageFilter] @@ -5632,7 +5630,7 @@ interface CIGaborGradients : ICIGaborGradientsProtocol { [TV (13,0)] [Mac (10,15)] [BaseType (typeof (CIFilter))] - interface CIRoundedRectangleGenerator : ICIRoundedRectangleGeneratorProtocol { + interface CIRoundedRectangleGenerator : CIRoundedRectangleGeneratorProtocol { #if !XAMCORE_4_0 [Obsolete ("Use 'InputExtent' instead.")] @@ -5643,8 +5641,6 @@ interface CIRoundedRectangleGenerator : ICIRoundedRectangleGeneratorProtocol { #region Protocols - interface ICIFilterProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5662,8 +5658,6 @@ interface CIFilterProtocol { NSDictionary CustomAttributes { get; } } - interface ICITransitionFilterProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5683,8 +5677,6 @@ interface CITransitionFilterProtocol : CIFilterProtocol { float Time { get; set; } } - interface ICIAccordionFoldTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5705,8 +5697,6 @@ interface CIAccordionFoldTransitionProtocol : CITransitionFilterProtocol { float FoldShadowAmount { get; set; } } - interface ICIAffineClampProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5722,8 +5712,6 @@ interface CIAffineClampProtocol : CIFilterProtocol { CGAffineTransform Transform { get; set; } } - interface ICIAffineTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5739,8 +5727,6 @@ interface CIAffineTileProtocol : CIFilterProtocol { CGAffineTransform Transform { get; set; } } - interface ICIAttributedTextImageGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5756,8 +5742,6 @@ interface CIAttributedTextImageGeneratorProtocol : CIFilterProtocol { float ScaleFactor { get; set; } } - interface ICIAztecCodeGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5781,8 +5765,6 @@ interface CIAztecCodeGeneratorProtocol : CIFilterProtocol { float InputCompactStyle { get; set; } } - interface ICIBarcodeGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5794,8 +5776,6 @@ interface CIBarcodeGeneratorProtocol : CIFilterProtocol { CIBarcodeDescriptor BarcodeDescriptor { get; set; } } - interface ICIBarsSwipeTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5815,8 +5795,6 @@ interface CIBarsSwipeTransitionProtocol : CITransitionFilterProtocol { float BarOffset { get; set; } } - interface ICIBicubicScaleTransformProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5846,8 +5824,6 @@ interface CIBicubicScaleTransformProtocol : CIFilterProtocol { float ParameterC { get; set; } } - interface ICIBlendWithMaskProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5867,8 +5843,6 @@ interface CIBlendWithMaskProtocol : CIFilterProtocol { CIImage MaskImage { get; set; } } - interface ICIBloomProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5888,8 +5862,6 @@ interface CIBloomProtocol : CIFilterProtocol { float Intensity { get; set; } } - interface ICIBokehBlurProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5917,8 +5889,6 @@ interface CIBokehBlurProtocol : CIFilterProtocol { float Softness { get; set; } } - interface ICIBoxBlurProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5934,8 +5904,6 @@ interface CIBoxBlurProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICICheckerboardGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5963,8 +5931,6 @@ interface CICheckerboardGeneratorProtocol : CIFilterProtocol { float Sharpness { get; set; } } - interface ICICircularScreenProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -5988,8 +5954,6 @@ interface CICircularScreenProtocol : CIFilterProtocol { float Sharpness { get; set; } } - interface ICICmykHalftoneProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6027,8 +5991,6 @@ interface CICmykHalftoneProtocol : CIFilterProtocol { float UnderColorRemoval { get; set; } } - interface ICICode128BarcodeGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6048,8 +6010,6 @@ interface CICode128BarcodeGeneratorProtocol : CIFilterProtocol { float BarcodeHeight { get; set; } } - interface ICIColorClampProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6069,8 +6029,6 @@ interface CIColorClampProtocol : CIFilterProtocol { CIVector MaxComponents { get; set; } } - interface ICIColorControlsProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6094,8 +6052,6 @@ interface CIColorControlsProtocol : CIFilterProtocol { float Contrast { get; set; } } - interface ICIColorCrossPolynomialProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6119,8 +6075,6 @@ interface CIColorCrossPolynomialProtocol : CIFilterProtocol { CIVector BlueCoefficients { get; set; } } - interface ICIColorCubeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6140,8 +6094,6 @@ interface CIColorCubeProtocol : CIFilterProtocol { NSData CubeData { get; set; } } - interface ICIColorCubesMixedWithMaskProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6173,8 +6125,6 @@ interface CIColorCubesMixedWithMaskProtocol : CIFilterProtocol { CGColorSpace ColorSpace { get; set; } } - interface ICIColorCubeWithColorSpaceProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6198,8 +6148,6 @@ interface CIColorCubeWithColorSpaceProtocol : CIFilterProtocol { CGColorSpace ColorSpace { get; set; } } - interface ICIColorCurvesProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6223,8 +6171,6 @@ interface CIColorCurvesProtocol : CIFilterProtocol { CGColorSpace ColorSpace { get; set; } } - interface ICIColorInvertProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6236,8 +6182,6 @@ interface CIColorInvertProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIColorMapProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6253,8 +6197,6 @@ interface CIColorMapProtocol : CIFilterProtocol { CIImage GradientImage { get; set; } } - interface ICIColorMatrixProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6286,8 +6228,6 @@ interface CIColorMatrixProtocol : CIFilterProtocol { CIVector BiasVector { get; set; } } - interface ICIColorMonochromeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6307,8 +6247,6 @@ interface CIColorMonochromeProtocol : CIFilterProtocol { float Intensity { get; set; } } - interface ICIColorPolynomialProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6336,8 +6274,6 @@ interface CIColorPolynomialProtocol : CIFilterProtocol { CIVector AlphaCoefficients { get; set; } } - interface ICIColorPosterizeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6353,8 +6289,6 @@ interface CIColorPosterizeProtocol : CIFilterProtocol { float Levels { get; set; } } - interface ICIComicEffectProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6366,8 +6300,6 @@ interface CIComicEffectProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICICompositeOperationProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6383,8 +6315,6 @@ interface CICompositeOperationProtocol : CIFilterProtocol { CIImage BackgroundImage { get; set; } } - interface ICIConvolutionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6404,8 +6334,6 @@ interface CIConvolutionProtocol : CIFilterProtocol { float Bias { get; set; } } - interface ICICopyMachineTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6433,8 +6361,6 @@ interface CICopyMachineTransitionProtocol : CIFilterProtocol { float Opacity { get; set; } } - interface ICICoreMLModelProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6458,8 +6384,6 @@ interface CICoreMLModelProtocol : CIFilterProtocol { bool SoftmaxNormalization { get; set; } } - interface ICICrystallizeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6479,8 +6403,6 @@ interface CICrystallizeProtocol : CIFilterProtocol { CGPoint InputCenter { get; set; } } - interface ICIDepthOfFieldProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6516,8 +6438,6 @@ interface CIDepthOfFieldProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIDepthToDisparityProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6529,8 +6449,6 @@ interface CIDepthToDisparityProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIDiscBlurProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6546,8 +6464,6 @@ interface CIDiscBlurProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIDisintegrateWithMaskTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6571,8 +6487,6 @@ interface CIDisintegrateWithMaskTransitionProtocol : CIFilterProtocol { CGPoint InputShadowOffset { get; set; } } - interface ICIDisparityToDepthProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6584,8 +6498,6 @@ interface CIDisparityToDepthProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIDissolveTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6593,8 +6505,6 @@ interface ICIDissolveTransitionProtocol {} interface CIDissolveTransitionProtocol : CIFilterProtocol { } - interface ICIDitherProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6610,8 +6520,6 @@ interface CIDitherProtocol : CIFilterProtocol { float Intensity { get; set; } } - interface ICIDocumentEnhancerProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6627,8 +6535,6 @@ interface CIDocumentEnhancerProtocol : CIFilterProtocol { float Amount { get; set; } } - interface ICIDotScreenProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6656,8 +6562,6 @@ interface CIDotScreenProtocol : CIFilterProtocol { float Sharpness { get; set; } } - interface ICIEdgePreserveUpsampleProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6681,8 +6585,6 @@ interface CIEdgePreserveUpsampleProtocol : CIFilterProtocol { float LumaSigma { get; set; } } - interface ICIEdgesProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6698,8 +6600,6 @@ interface CIEdgesProtocol : CIFilterProtocol { float Intensity { get; set; } } - interface ICIEdgeWorkProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6715,8 +6615,6 @@ interface CIEdgeWorkProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIEightfoldReflectedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6740,8 +6638,6 @@ interface CIEightfoldReflectedTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICIExposureAdjustProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6757,8 +6653,6 @@ interface CIExposureAdjustProtocol : CIFilterProtocol { float EV { get; set; } } - interface ICIFalseColorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6778,8 +6672,6 @@ interface CIFalseColorProtocol : CIFilterProtocol { CIColor Color1 { get; set; } } - interface ICIFlashTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6815,8 +6707,6 @@ interface CIFlashTransitionProtocol : CITransitionFilterProtocol { float FadeThreshold { get; set; } } - interface ICIFourCoordinateGeometryFilterProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6844,8 +6734,6 @@ interface CIFourCoordinateGeometryFilterProtocol : CIFilterProtocol { CGPoint InputBottomLeft { get; set; } } - interface ICIFourfoldReflectedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6873,8 +6761,6 @@ interface CIFourfoldReflectedTileProtocol : CIFilterProtocol { float AcuteAngle { get; set; } } - interface ICIFourfoldRotatedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6898,8 +6784,6 @@ interface CIFourfoldRotatedTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICIFourfoldTranslatedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6927,8 +6811,6 @@ interface CIFourfoldTranslatedTileProtocol : CIFilterProtocol { float AcuteAngle { get; set; } } - interface ICIGaborGradientsProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6940,8 +6822,6 @@ interface CIGaborGradientsProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIGammaAdjustProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6957,8 +6837,6 @@ interface CIGammaAdjustProtocol : CIFilterProtocol { float Power { get; set; } } - interface ICIGaussianBlurProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6974,8 +6852,6 @@ interface CIGaussianBlurProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIGaussianGradientProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -6999,8 +6875,6 @@ interface CIGaussianGradientProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIGlideReflectedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7024,8 +6898,6 @@ interface CIGlideReflectedTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICIGloomProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7045,8 +6917,6 @@ interface CIGloomProtocol : CIFilterProtocol { float Intensity { get; set; } } - interface ICIHatchedScreenProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7074,8 +6944,6 @@ interface CIHatchedScreenProtocol : CIFilterProtocol { float Sharpness { get; set; } } - interface ICIHeightFieldFromMaskProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7091,8 +6959,6 @@ interface CIHeightFieldFromMaskProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIHexagonalPixellateProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7112,8 +6978,6 @@ interface CIHexagonalPixellateProtocol : CIFilterProtocol { float Scale { get; set; } } - interface ICIHighlightShadowAdjustProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7137,8 +7001,6 @@ interface CIHighlightShadowAdjustProtocol : CIFilterProtocol { float HighlightAmount { get; set; } } - interface ICIHueAdjustProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7154,8 +7016,6 @@ interface CIHueAdjustProtocol : CIFilterProtocol { float Angle { get; set; } } - interface ICIHueSaturationValueGradientProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7183,8 +7043,6 @@ interface CIHueSaturationValueGradientProtocol : CIFilterProtocol { CGColorSpace ColorSpace { get; set; } } - interface ICIKaleidoscopeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7208,8 +7066,6 @@ interface CIKaleidoscopeProtocol : CIFilterProtocol { float Angle { get; set; } } - interface ICIKeystoneCorrectionCombinedProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7221,8 +7077,6 @@ interface CIKeystoneCorrectionCombinedProtocol : CIFourCoordinateGeometryFilterP float FocalLength { get; set; } } - interface ICIKeystoneCorrectionHorizontalProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7234,8 +7088,6 @@ interface CIKeystoneCorrectionHorizontalProtocol : CIFourCoordinateGeometryFilte float FocalLength { get; set; } } - interface ICIKeystoneCorrectionVerticalProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7247,8 +7099,6 @@ interface CIKeystoneCorrectionVerticalProtocol : CIFourCoordinateGeometryFilterP float FocalLength { get; set; } } - interface ICILabDeltaEProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7264,8 +7114,6 @@ interface CILabDeltaEProtocol : CIFilterProtocol { CIImage Image2 { get; set; } } - interface ICILanczosScaleTransformProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7285,8 +7133,6 @@ interface CILanczosScaleTransformProtocol : CIFilterProtocol { float AspectRatio { get; set; } } - interface ICILenticularHaloGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7326,8 +7172,6 @@ interface CILenticularHaloGeneratorProtocol : CIFilterProtocol { float Time { get; set; } } - interface ICILinearGradientProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7351,8 +7195,6 @@ interface CILinearGradientProtocol : CIFilterProtocol { CIColor Color1 { get; set; } } - interface ICILinearToSrgbToneCurveProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7364,8 +7206,6 @@ interface CILinearToSrgbToneCurveProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICILineOverlayProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7397,8 +7237,6 @@ interface CILineOverlayProtocol : CIFilterProtocol { float Contrast { get; set; } } - interface ICILineScreenProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7426,8 +7264,6 @@ interface CILineScreenProtocol : CIFilterProtocol { float Sharpness { get; set; } } - interface ICIMaskedVariableBlurProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7447,8 +7283,6 @@ interface CIMaskedVariableBlurProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIMaskToAlphaProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7460,8 +7294,6 @@ interface CIMaskToAlphaProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIMaximumComponentProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7473,8 +7305,6 @@ interface CIMaximumComponentProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIMedianProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7486,8 +7316,6 @@ interface CIMedianProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIMeshGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7507,8 +7335,6 @@ interface CIMeshGeneratorProtocol : CIFilterProtocol { CIVector[] Mesh { get; set; } } - interface ICIMinimumComponentProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7520,8 +7346,6 @@ interface CIMinimumComponentProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIMixProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7541,8 +7365,6 @@ interface CIMixProtocol : CIFilterProtocol { float Amount { get; set; } } - interface ICIModTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7566,8 +7388,6 @@ interface CIModTransitionProtocol : CITransitionFilterProtocol { float Compression { get; set; } } - interface ICIMorphologyGradientProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7583,8 +7403,6 @@ interface CIMorphologyGradientProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIMorphologyMaximumProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7600,8 +7418,6 @@ interface CIMorphologyMaximumProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIMorphologyMinimumProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7617,8 +7433,6 @@ interface CIMorphologyMinimumProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIMorphologyRectangleMaximumProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7638,8 +7452,6 @@ interface CIMorphologyRectangleMaximumProtocol : CIFilterProtocol { float InputHeight { get; set; } } - interface ICIMorphologyRectangleMinimumProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7659,8 +7471,6 @@ interface CIMorphologyRectangleMinimumProtocol : CIFilterProtocol { float InputHeight { get; set; } } - interface ICIMotionBlurProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7680,8 +7490,6 @@ interface CIMotionBlurProtocol : CIFilterProtocol { float Angle { get; set; } } - interface ICINoiseReductionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7701,8 +7509,6 @@ interface CINoiseReductionProtocol : CIFilterProtocol { float Sharpness { get; set; } } - interface ICIOpTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7730,8 +7536,6 @@ interface CIOpTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICIPageCurlTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7759,8 +7563,6 @@ interface CIPageCurlTransitionProtocol : CITransitionFilterProtocol { float Radius { get; set; } } - interface ICIPageCurlWithShadowTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7796,8 +7598,6 @@ interface CIPageCurlWithShadowTransitionProtocol : CITransitionFilterProtocol { CGRect InputShadowExtent { get; set; } } - interface ICIPaletteCentroidProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7817,8 +7617,6 @@ interface CIPaletteCentroidProtocol : CIFilterProtocol { bool Perceptual { get; set; } } - interface ICIPalettizeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7838,8 +7636,6 @@ interface CIPalettizeProtocol : CIFilterProtocol { bool Perceptual { get; set; } } - interface ICIParallelogramTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7867,8 +7663,6 @@ interface CIParallelogramTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICIPdf417BarcodeGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7924,8 +7718,6 @@ interface CIPdf417BarcodeGeneratorProtocol : CIFilterProtocol { float InputAlwaysSpecifyCompaction { get; set; } } - interface ICIPerspectiveCorrectionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7938,8 +7730,6 @@ interface CIPerspectiveCorrectionProtocol : CIFourCoordinateGeometryFilterProtoc bool Crop { get; set; } } - interface ICIPerspectiveRotateProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7967,8 +7757,6 @@ interface CIPerspectiveRotateProtocol : CIFilterProtocol { float Roll { get; set; } } - interface ICIPerspectiveTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -7996,8 +7784,6 @@ interface CIPerspectiveTileProtocol : CIFilterProtocol { CGPoint InputBottomLeft { get; set; } } - interface ICIPerspectiveTransformProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8005,8 +7791,6 @@ interface ICIPerspectiveTransformProtocol {} interface CIPerspectiveTransformProtocol : CIFourCoordinateGeometryFilterProtocol { } - interface ICIPerspectiveTransformWithExtentProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8018,8 +7802,6 @@ interface CIPerspectiveTransformWithExtentProtocol : CIFourCoordinateGeometryFil CGRect InputExtent { get; set; } } - interface ICIPhotoEffectProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8031,8 +7813,6 @@ interface CIPhotoEffectProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIPixellateProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8052,8 +7832,6 @@ interface CIPixellateProtocol : CIFilterProtocol { float Scale { get; set; } } - interface ICIPointillizeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8073,8 +7851,6 @@ interface CIPointillizeProtocol : CIFilterProtocol { CGPoint InputCenter { get; set; } } - interface ICIQRCodeGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8090,8 +7866,6 @@ interface CIQRCodeGeneratorProtocol : CIFilterProtocol { string CorrectionLevel { get; set; } } - interface ICIRadialGradientProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8119,8 +7893,6 @@ interface CIRadialGradientProtocol : CIFilterProtocol { CIColor Color1 { get; set; } } - interface ICIRandomGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8128,8 +7900,6 @@ interface ICIRandomGeneratorProtocol {} interface CIRandomGeneratorProtocol : CIFilterProtocol { } - interface ICIRippleTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8157,8 +7927,6 @@ interface CIRippleTransitionProtocol : CITransitionFilterProtocol { float Scale { get; set; } } - interface ICIRoundedRectangleGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8178,8 +7946,6 @@ interface CIRoundedRectangleGeneratorProtocol : CIFilterProtocol { CIColor Color { get; set; } } - interface ICISaliencyMapProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8192,8 +7958,6 @@ interface CISaliencyMapProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICISepiaToneProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8209,8 +7973,6 @@ interface CISepiaToneProtocol : CIFilterProtocol { float Intensity { get; set; } } - interface ICIShadedMaterialProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8230,8 +7992,6 @@ interface CIShadedMaterialProtocol : CIFilterProtocol { float Scale { get; set; } } - interface ICISharpenLuminanceProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8252,8 +8012,6 @@ interface CISharpenLuminanceProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICISixfoldReflectedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8277,8 +8035,6 @@ interface CISixfoldReflectedTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICISixfoldRotatedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8302,8 +8058,6 @@ interface CISixfoldRotatedTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICISmoothLinearGradientProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8326,8 +8080,6 @@ interface CISmoothLinearGradientProtocol : CIFilterProtocol { CIColor Color1 { get; set; } } - interface ICISpotColorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8387,8 +8139,6 @@ interface CISpotColorProtocol : CIFilterProtocol { float Contrast3 { get; set; } } - interface ICISpotLightProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8420,8 +8170,6 @@ interface CISpotLightProtocol : CIFilterProtocol { CIColor Color { get; set; } } - interface ICISrgbToneCurveToLinearProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8433,8 +8181,6 @@ interface CISrgbToneCurveToLinearProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIStarShineGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8474,8 +8220,6 @@ interface CIStarShineGeneratorProtocol : CIFilterProtocol { float Epsilon { get; set; } } - interface ICIStraightenProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8491,8 +8235,6 @@ interface CIStraightenProtocol : CIFilterProtocol { float Angle { get; set; } } - interface ICIStripesGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8520,8 +8262,6 @@ interface CIStripesGeneratorProtocol : CIFilterProtocol { float Sharpness { get; set; } } - interface ICISunbeamsGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8557,8 +8297,6 @@ interface CISunbeamsGeneratorProtocol : CIFilterProtocol { float Time { get; set; } } - interface ICISwipeTransitionProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8586,8 +8324,6 @@ interface CISwipeTransitionProtocol : CITransitionFilterProtocol { float Opacity { get; set; } } - interface ICITemperatureAndTintProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8607,8 +8343,6 @@ interface CITemperatureAndTintProtocol : CIFilterProtocol { CIVector TargetNeutral { get; set; } } - interface ICITextImageGeneratorProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8632,8 +8366,6 @@ interface CITextImageGeneratorProtocol : CIFilterProtocol { float ScaleFactor { get; set; } } - interface ICIThermalProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8645,8 +8377,6 @@ interface CIThermalProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIToneCurveProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8678,8 +8408,6 @@ interface CIToneCurveProtocol : CIFilterProtocol { CGPoint InputPoint4 { get; set; } } - interface ICITriangleKaleidoscopeProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8707,8 +8435,6 @@ interface CITriangleKaleidoscopeProtocol : CIFilterProtocol { float Decay { get; set; } } - interface ICITriangleTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8732,8 +8458,6 @@ interface CITriangleTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICITwelvefoldReflectedTileProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8757,8 +8481,6 @@ interface CITwelvefoldReflectedTileProtocol : CIFilterProtocol { float Width { get; set; } } - interface ICIUnsharpMaskProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8778,8 +8500,6 @@ interface CIUnsharpMaskProtocol : CIFilterProtocol { float Intensity { get; set; } } - interface ICIVibranceProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8795,8 +8515,6 @@ interface CIVibranceProtocol : CIFilterProtocol { float Amount { get; set; } } - interface ICIVignetteProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8816,8 +8534,6 @@ interface CIVignetteProtocol : CIFilterProtocol { float Radius { get; set; } } - interface ICIVignetteEffectProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8845,8 +8561,6 @@ interface CIVignetteEffectProtocol : CIFilterProtocol { float Falloff { get; set; } } - interface ICIWhitePointAdjustProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8862,8 +8576,6 @@ interface CIWhitePointAdjustProtocol : CIFilterProtocol { CIColor Color { get; set; } } - interface ICIXRayProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] @@ -8875,8 +8587,6 @@ interface CIXRayProtocol : CIFilterProtocol { CIImage InputImage { get; set; } } - interface ICIZoomBlurProtocol {} - [iOS (13,0)] [TV (13,0)] [Mac (10,15)] diff --git a/src/generator-filters.cs b/src/generator-filters.cs index e33fafc290dd..bf9898e1228e 100644 --- a/src/generator-filters.cs +++ b/src/generator-filters.cs @@ -38,7 +38,7 @@ public void GenerateFilter (Type type) // 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.FullName}"; + interfaces += $", I{i.Name}"; } // type declaration @@ -115,8 +115,8 @@ public void GenerateFilter (Type type) // properties GenerateProperties (type); - // protocols (on the type it will be an interface starting with `I`) - GenerateProtocolProperties (type, new HashSet (), checkPrefix: true); + // protocols + GenerateProtocolProperties (type, new HashSet ()); indent--; print ("}"); @@ -128,24 +128,24 @@ public void GenerateFilter (Type type) } } - void GenerateProtocolProperties (Type type, HashSet processed, bool checkPrefix) + void GenerateProtocolProperties (Type type, HashSet processed) { foreach (var i in type.GetInterfaces ()) { - if (!IsProtocolInterface (i, checkPrefix, out var protocol)) + 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 = protocol.Name; + var pname = i.Name; if (processed.Contains (pname)) continue; processed.Add (pname); print (""); print ($"// {pname} protocol members "); - GenerateProperties (protocol); + GenerateProperties (i); - // also include base interfaces/protocols (won't start with an `I`) - GenerateProtocolProperties (protocol, processed, checkPrefix: false); + // also include base interfaces/protocols + GenerateProtocolProperties (i, processed); } }