objc2_ui_kit/generated/
UIFocusSystem.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9extern_class!(
10 #[unsafe(super(NSObject))]
14 #[thread_kind = MainThreadOnly]
15 #[derive(Debug, PartialEq, Eq, Hash)]
16 pub struct UIFocusSystem;
17);
18
19extern_conformance!(
20 unsafe impl NSObjectProtocol for UIFocusSystem {}
21);
22
23impl UIFocusSystem {
24 extern_methods!(
25 #[cfg(feature = "UIFocus")]
26 #[unsafe(method(focusedItem))]
28 #[unsafe(method_family = none)]
29 pub fn focusedItem(&self) -> Option<Retained<ProtocolObject<dyn UIFocusItem>>>;
30
31 #[unsafe(method(new))]
32 #[unsafe(method_family = new)]
33 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
34
35 #[unsafe(method(init))]
36 #[unsafe(method_family = init)]
37 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
38
39 #[cfg(feature = "UIFocus")]
40 #[unsafe(method(focusSystemForEnvironment:))]
41 #[unsafe(method_family = none)]
42 pub fn focusSystemForEnvironment(
43 environment: &ProtocolObject<dyn UIFocusEnvironment>,
44 ) -> Option<Retained<UIFocusSystem>>;
45
46 #[cfg(feature = "UIFocus")]
47 #[unsafe(method(requestFocusUpdateToEnvironment:))]
50 #[unsafe(method_family = none)]
51 pub fn requestFocusUpdateToEnvironment(
52 &self,
53 environment: &ProtocolObject<dyn UIFocusEnvironment>,
54 );
55
56 #[unsafe(method(updateFocusIfNeeded))]
58 #[unsafe(method_family = none)]
59 pub fn updateFocusIfNeeded(&self);
60
61 #[cfg(feature = "UIFocus")]
62 #[unsafe(method(environment:containsEnvironment:))]
64 #[unsafe(method_family = none)]
65 pub fn environment_containsEnvironment(
66 environment: &ProtocolObject<dyn UIFocusEnvironment>,
67 other_environment: &ProtocolObject<dyn UIFocusEnvironment>,
68 ) -> bool;
69 );
70}