1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
/// A view controller subclass that allows fine grained control of the user interface system's handling
/// of game controller events. Set an instance of this class as your root view controller if you intend
/// to use GCController APIs for handling game controllers.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/gamecontroller/gceventviewcontroller?language=objc)
#[unsafe(super(NSViewController, NSResponder, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
pub struct GCEventViewController;
);
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
extern_conformance!(
unsafe impl NSCoding for GCEventViewController {}
);
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
extern_conformance!(
unsafe impl NSEditor for GCEventViewController {}
);
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
extern_conformance!(
unsafe impl NSObjectProtocol for GCEventViewController {}
);
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
extern_conformance!(
unsafe impl NSSeguePerforming for GCEventViewController {}
);
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
extern_conformance!(
unsafe impl NSUserInterfaceItemIdentification for GCEventViewController {}
);
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
impl GCEventViewController {
extern_methods!(
/// Controllers can be used to control the general UIKit user interface and for many views that is
/// the default behavior. By using a controller event view controller you get fine grained control
/// over whether the controller events go trough the UIEvent
/// &
/// UIResponder chain, or if they are
/// decoupled from the UI and all incoming data is served via GCController.
///
/// Defaults to NO - suppressing UIEvents from game controllers and presenting them via the GCController
/// API whilst this controller's view or any of it's subviews are the first responders. If you are not
/// using any UIView components or UIEvents in your application you should leave this as NO and process
/// your game controller events via the normal GCController API.
///
/// If set to YES the controller input will start flowing through UIEvent and the UIResponder
/// chain will be used. This gives you fine grained control over the event handling of the
/// controlled view and its subviews. You should stop using GCController instances and the corresponding
/// profiles if you no longer need to read input from them.
///
/// Note that unlike UIView.userInteractionEnabled this only controls the flow of game controller events.
///
///
/// See: UIView.userInteractionEnabled
#[unsafe(method(controllerUserInteractionEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn controllerUserInteractionEnabled(&self) -> bool;
/// Setter for [`controllerUserInteractionEnabled`][Self::controllerUserInteractionEnabled].
#[unsafe(method(setControllerUserInteractionEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setControllerUserInteractionEnabled(
&self,
controller_user_interaction_enabled: bool,
);
);
}
/// Methods declared on superclass `NSViewController`.
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
impl GCEventViewController {
extern_methods!(
#[unsafe(method(initWithNibName:bundle:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithNibName_bundle(
this: Allocated<Self>,
nib_name_or_nil: Option<&NSNibName>,
nib_bundle_or_nil: Option<&NSBundle>,
) -> Retained<Self>;
/// # Safety
///
/// `coder` possibly has further requirements.
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
);
}
/// Methods declared on superclass `NSResponder`.
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
impl GCEventViewController {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
/// Methods declared on superclass `NSObject`.
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
impl GCEventViewController {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}