diff --git a/src/QuartzComposer/QCComposition.cs b/src/QuartzComposer/QCComposition.cs new file mode 100644 index 00000000000..f3bbc93c425 --- /dev/null +++ b/src/QuartzComposer/QCComposition.cs @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using System; +using System.ComponentModel; + +using Foundation; +using ObjCRuntime; + +#nullable enable + +namespace QuartzComposer; + +partial class QCComposition { +#if !XAMCORE_5_0 + [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)] + [ObsoletedOSPlatform ("macos10.14", "Use 'Metal' instead.")] + [SupportedOSPlatform ("macos")] + [EditorBrowsable (EditorBrowsableState.Never)] + [Obsolete ("This field is always null.")] + public static NSString? InputRSSArticleDurationKey { + [ObsoletedOSPlatform ("macos10.14", "Use 'Metal' instead.")] + [SupportedOSPlatform ("macos")] + get => null; + } + + [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)] + [ObsoletedOSPlatform ("macos10.14", "Use 'Metal' instead.")] + [SupportedOSPlatform ("macos")] + [EditorBrowsable (EditorBrowsableState.Never)] + [Obsolete ("This field is always null.")] + public static NSString? InputRSSFeedURLKey { + [ObsoletedOSPlatform ("macos10.14", "Use 'Metal' instead.")] + [SupportedOSPlatform ("macos")] + get => null; + } + + [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)] + [ObsoletedOSPlatform ("macos10.14", "Use 'Metal' instead.")] + [SupportedOSPlatform ("macos")] + [EditorBrowsable (EditorBrowsableState.Never)] + [Obsolete ("This field is always null.")] + public static NSString? ProtocolRSSVisualizer { + [ObsoletedOSPlatform ("macos10.14", "Use 'Metal' instead.")] + [SupportedOSPlatform ("macos")] + get => null; + } +#endif // !XAMCORE_5_0 +} diff --git a/src/frameworks.sources b/src/frameworks.sources index 6573e8e10f1..58f1561da60 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -1478,6 +1478,11 @@ PRINTCORE_SOURCES = \ PUSHTOTALK_SOURCES = \ PushToTalk/Compat.cs \ +# QuartzComposer + +QUARTZCOMPOSER_SOURCES = \ + QuartzComposer/QCComposition.cs \ + # QuickLook QUICKLOOK_SOURCES = \ diff --git a/src/quartzcomposer.cs b/src/quartzcomposer.cs index ffc4192e1e0..f514f6e6bcc 100644 --- a/src/quartzcomposer.cs +++ b/src/quartzcomposer.cs @@ -158,19 +158,10 @@ interface QCComposition : NSCopying { [Field ("QCCompositionInputDestinationImageKey")] NSString InputDestinationImageKey { get; } - /// To be added. - /// To be added. - /// To be added. - [Deprecated (PlatformName.MacOSX, 10, 14, message: "Use 'Metal' instead.")] - [Field ("QCCompositionInputRSSFeedURLKey")] - NSString InputRSSFeedURLKey { get; } - - /// To be added. - /// To be added. - /// To be added. - [Deprecated (PlatformName.MacOSX, 10, 14, message: "Use 'Metal' instead.")] - [Field ("QCCompositionInputRSSArticleDurationKey")] - NSString InputRSSArticleDurationKey { get; } +#if !XAMCORE_5_0 + // The 'InputRSSFeedURLKey' property has manual bindings. + // The 'InputRSSArticleDurationKey' property has manual bindings. +#endif /// To be added. /// To be added. @@ -280,12 +271,9 @@ interface QCComposition : NSCopying { [Field ("QCCompositionProtocolScreenSaver")] NSString ProtocolScreenSaver { get; } - /// To be added. - /// To be added. - /// To be added. - [Deprecated (PlatformName.MacOSX, 10, 14, message: "Use 'Metal' instead.")] - [Field ("QCCompositionProtocolRSSVisualizer")] - NSString ProtocolRSSVisualizer { get; } +#if !XAMCORE_5_0 + // The 'ProtocolRSSVisualizer' property has manual bindings. +#endif /// To be added. /// To be added. diff --git a/tests/introspection/MacApiFieldTest.cs b/tests/introspection/MacApiFieldTest.cs index a43e7949c80..b9457f61779 100644 --- a/tests/introspection/MacApiFieldTest.cs +++ b/tests/introspection/MacApiFieldTest.cs @@ -159,12 +159,6 @@ protected override bool Skip (string constantName, string? libraryName) // kCLErrorUserInfoAlternateRegionKey also returns null on iOS case "kCLErrorUserInfoAlternateRegionKey": return true; - case "QCCompositionInputRSSArticleDurationKey": - case "QCCompositionInputRSSFeedURLKey": - case "QCCompositionProtocolRSSVisualizer": - if (Mac.CheckSystemVersion (10, 14)) - return true; - goto default; default: return base.Skip (constantName, libraryName); }