diff --git a/src/MediaAccessibility/MediaAccessibility.cs b/src/MediaAccessibility/MediaAccessibility.cs index 39c7433ebc8e..52e618a5fc56 100644 --- a/src/MediaAccessibility/MediaAccessibility.cs +++ b/src/MediaAccessibility/MediaAccessibility.cs @@ -309,6 +309,33 @@ public static void DidDisplayCaptions (NSAttributedString [] strings) MACaptionAppearanceDidDisplayCaptions (array.Handle); } } + +#if NET + [SupportedOSPlatform ("tvos18.0")] + [SupportedOSPlatform ("macos15.0")] + [SupportedOSPlatform ("ios18.0")] + [SupportedOSPlatform ("maccatalyst18.0")] +#else + [TV (18, 0), iOS (18, 0), MacCatalyst (18, 0), Mac (15, 0), Watch (11, 0)] +#endif + [DllImport (Constants.MediaAccessibilityLibrary)] + static extern byte MACaptionAppearanceIsCustomized (nint /* MACaptionAppearanceDomain */ domain); + + /// Checks whether the specified style has been customized by the user. + /// The style to check + /// True if the specified style has been customized by the user, false otherwise. +#if NET + [SupportedOSPlatform ("tvos18.0")] + [SupportedOSPlatform ("macos15.0")] + [SupportedOSPlatform ("ios18.0")] + [SupportedOSPlatform ("maccatalyst18.0")] +#else + [TV (18, 0), iOS (18, 0), MacCatalyst (18, 0), Mac (15, 0), Watch (11, 0)] +#endif + public static bool IsCustomized (MACaptionAppearanceDomain domain) + { + return MACaptionAppearanceIsCustomized ((nint) (long) domain) != 0; + } } #if NET diff --git a/tests/monotouch-test/MediaAccessibility/CaptionAppearanceTest.cs b/tests/monotouch-test/MediaAccessibility/CaptionAppearanceTest.cs index 908936b4914b..1c8c60489073 100644 --- a/tests/monotouch-test/MediaAccessibility/CaptionAppearanceTest.cs +++ b/tests/monotouch-test/MediaAccessibility/CaptionAppearanceTest.cs @@ -66,6 +66,18 @@ public void DidDisplayCaptions () a = null; MACaptionAppearance.DidDisplayCaptions (a); } + +#if NET + [Test] + public void IsCustomized () + { + TestRuntime.AssertXcodeVersion (16, 0); + + foreach (var value in Enum.GetValues ()) { + Assert.That (MACaptionAppearance.IsCustomized (value), Is.EqualTo (true).Or.EqualTo (false), value.ToString ()); + } + } +#endif // NET } } diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MediaAccessibility.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MediaAccessibility.todo deleted file mode 100644 index c4d63ce60dfa..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MediaAccessibility.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! MACaptionAppearanceIsCustomized is not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-MediaAccessibility.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-MediaAccessibility.todo deleted file mode 100644 index c4d63ce60dfa..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-MediaAccessibility.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! MACaptionAppearanceIsCustomized is not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-MediaAccessibility.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-MediaAccessibility.todo deleted file mode 100644 index c4d63ce60dfa..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-MediaAccessibility.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! MACaptionAppearanceIsCustomized is not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MediaAccessibility.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MediaAccessibility.todo deleted file mode 100644 index c4d63ce60dfa..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MediaAccessibility.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! MACaptionAppearanceIsCustomized is not bound diff --git a/tests/xtro-sharpie/iOS-MediaAccessibility.todo b/tests/xtro-sharpie/iOS-MediaAccessibility.todo deleted file mode 100644 index c4d63ce60dfa..000000000000 --- a/tests/xtro-sharpie/iOS-MediaAccessibility.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! MACaptionAppearanceIsCustomized is not bound diff --git a/tests/xtro-sharpie/macOS-MediaAccessibility.todo b/tests/xtro-sharpie/macOS-MediaAccessibility.todo deleted file mode 100644 index c4d63ce60dfa..000000000000 --- a/tests/xtro-sharpie/macOS-MediaAccessibility.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! MACaptionAppearanceIsCustomized is not bound diff --git a/tests/xtro-sharpie/tvOS-MediaAccessibility.todo b/tests/xtro-sharpie/tvOS-MediaAccessibility.todo deleted file mode 100644 index c4d63ce60dfa..000000000000 --- a/tests/xtro-sharpie/tvOS-MediaAccessibility.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! MACaptionAppearanceIsCustomized is not bound