objc2_ui_kit/generated/
UIFocusSystem.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11 #[unsafe(super(NSObject))]
15 #[thread_kind = MainThreadOnly]
16 #[derive(Debug, PartialEq, Eq, Hash)]
17 pub struct UIFocusSystem;
18);
19
20unsafe impl NSObjectProtocol for UIFocusSystem {}
21
22impl UIFocusSystem {
23 extern_methods!(
24 #[cfg(feature = "UIFocus")]
25 #[unsafe(method(focusedItem))]
27 #[unsafe(method_family = none)]
28 pub unsafe fn focusedItem(&self) -> Option<Retained<ProtocolObject<dyn UIFocusItem>>>;
29
30 #[unsafe(method(new))]
31 #[unsafe(method_family = new)]
32 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
33
34 #[unsafe(method(init))]
35 #[unsafe(method_family = init)]
36 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
37
38 #[cfg(feature = "UIFocus")]
39 #[unsafe(method(focusSystemForEnvironment:))]
40 #[unsafe(method_family = none)]
41 pub unsafe fn focusSystemForEnvironment(
42 environment: &ProtocolObject<dyn UIFocusEnvironment>,
43 ) -> Option<Retained<UIFocusSystem>>;
44
45 #[cfg(feature = "UIFocus")]
46 #[unsafe(method(requestFocusUpdateToEnvironment:))]
49 #[unsafe(method_family = none)]
50 pub unsafe fn requestFocusUpdateToEnvironment(
51 &self,
52 environment: &ProtocolObject<dyn UIFocusEnvironment>,
53 );
54
55 #[unsafe(method(updateFocusIfNeeded))]
57 #[unsafe(method_family = none)]
58 pub unsafe fn updateFocusIfNeeded(&self);
59
60 #[cfg(feature = "UIFocus")]
61 #[unsafe(method(environment:containsEnvironment:))]
63 #[unsafe(method_family = none)]
64 pub unsafe fn environment_containsEnvironment(
65 environment: &ProtocolObject<dyn UIFocusEnvironment>,
66 other_environment: &ProtocolObject<dyn UIFocusEnvironment>,
67 ) -> bool;
68 );
69}
70
71impl UIFocusSystem {
73 extern_methods!(
74 #[cfg(feature = "UIFocus")]
75 #[unsafe(method(registerURL:forSoundIdentifier:))]
77 #[unsafe(method_family = none)]
78 pub unsafe fn registerURL_forSoundIdentifier(
79 sound_file_url: &NSURL,
80 identifier: &UIFocusSoundIdentifier,
81 mtm: MainThreadMarker,
82 );
83 );
84}
85
86#[cfg(all(
88 feature = "UIResponder",
89 feature = "UIScene",
90 feature = "UIWindowScene"
91))]
92impl UIWindowScene {
93 extern_methods!(
94 #[unsafe(method(focusSystem))]
96 #[unsafe(method_family = none)]
97 pub unsafe fn focusSystem(&self) -> Option<Retained<UIFocusSystem>>;
98 );
99}