objc2_ui_kit/generated/
UIWindowSceneActivationInteraction.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8use objc2_foundation::*;
9
10use crate::*;
11
12/// Return a
13/// `UIWindowSceneActivationConfiguration`
14///
15/// Parameter `interaction`: The
16/// `UIWindowSceneActivationInteraction`requesting a configuration.
17///
18/// Parameter `location`: Location in the interaction's view for which a configuration is being requested.
19///
20/// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uiwindowsceneactivationinteractionconfigurationprovider?language=objc)
21#[cfg(all(
22    feature = "UIWindowSceneActivationConfiguration",
23    feature = "block2",
24    feature = "objc2-core-foundation"
25))]
26pub type UIWindowSceneActivationInteractionConfigurationProvider = *mut block2::Block<
27    dyn Fn(
28        NonNull<UIWindowSceneActivationInteraction>,
29        CGPoint,
30    ) -> *mut UIWindowSceneActivationConfiguration,
31>;
32
33extern_class!(
34    /// An interaction that facilitates activating a
35    /// `UIWindowScene`when the user pinches out on the interaction's view.
36    ///
37    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uiwindowsceneactivationinteraction?language=objc)
38    #[unsafe(super(NSObject))]
39    #[thread_kind = MainThreadOnly]
40    #[derive(Debug, PartialEq, Eq, Hash)]
41    pub struct UIWindowSceneActivationInteraction;
42);
43
44unsafe impl NSObjectProtocol for UIWindowSceneActivationInteraction {}
45
46#[cfg(feature = "UIInteraction")]
47unsafe impl UIInteraction for UIWindowSceneActivationInteraction {}
48
49impl UIWindowSceneActivationInteraction {
50    extern_methods!(
51        #[cfg(all(
52            feature = "UIWindowSceneActivationConfiguration",
53            feature = "block2",
54            feature = "objc2-core-foundation"
55        ))]
56        /// Returns a new
57        /// `UIWindowSceneActivationInteraction`
58        ///
59        /// Parameter `configurationProvider`: Called when the interaction has been triggered. It should return a
60        /// `UIWindowSceneActivationConfiguration`whose user activity will be used to request scene activation.
61        ///
62        /// Parameter `errorHandler`: Called when the activation request fails.
63        #[unsafe(method(initWithConfigurationProvider:errorHandler:))]
64        #[unsafe(method_family = init)]
65        pub unsafe fn initWithConfigurationProvider_errorHandler(
66            this: Allocated<Self>,
67            configuration_provider: UIWindowSceneActivationInteractionConfigurationProvider,
68            error_handler: &block2::Block<dyn Fn(NonNull<NSError>)>,
69        ) -> Retained<Self>;
70
71        #[unsafe(method(init))]
72        #[unsafe(method_family = init)]
73        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
74
75        #[unsafe(method(new))]
76        #[unsafe(method_family = new)]
77        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
78    );
79}