objc2_scene_kit/generated/
SCNView.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-app-kit")]
7#[cfg(target_os = "macos")]
8use objc2_app_kit::*;
9#[cfg(feature = "objc2-core-foundation")]
10use objc2_core_foundation::*;
11use objc2_foundation::*;
12
13use crate::*;
14
15pub type SCNViewOption = NSString;
18
19extern "C" {
20 pub static SCNPreferredRenderingAPIKey: &'static SCNViewOption;
24}
25
26extern "C" {
27 pub static SCNPreferredDeviceKey: &'static SCNViewOption;
33}
34
35extern "C" {
36 pub static SCNPreferLowPowerDeviceKey: &'static SCNViewOption;
40}
41
42extern_protocol!(
43 pub unsafe trait SCNCameraControlConfiguration: NSObjectProtocol {
45 #[unsafe(method(autoSwitchToFreeCamera))]
46 #[unsafe(method_family = none)]
47 unsafe fn autoSwitchToFreeCamera(&self) -> bool;
48
49 #[unsafe(method(setAutoSwitchToFreeCamera:))]
51 #[unsafe(method_family = none)]
52 unsafe fn setAutoSwitchToFreeCamera(&self, auto_switch_to_free_camera: bool);
53
54 #[unsafe(method(allowsTranslation))]
55 #[unsafe(method_family = none)]
56 unsafe fn allowsTranslation(&self) -> bool;
57
58 #[unsafe(method(setAllowsTranslation:))]
60 #[unsafe(method_family = none)]
61 unsafe fn setAllowsTranslation(&self, allows_translation: bool);
62
63 #[cfg(feature = "objc2-core-foundation")]
64 #[unsafe(method(flyModeVelocity))]
65 #[unsafe(method_family = none)]
66 unsafe fn flyModeVelocity(&self) -> CGFloat;
67
68 #[cfg(feature = "objc2-core-foundation")]
69 #[unsafe(method(setFlyModeVelocity:))]
71 #[unsafe(method_family = none)]
72 unsafe fn setFlyModeVelocity(&self, fly_mode_velocity: CGFloat);
73
74 #[cfg(feature = "objc2-core-foundation")]
75 #[unsafe(method(panSensitivity))]
76 #[unsafe(method_family = none)]
77 unsafe fn panSensitivity(&self) -> CGFloat;
78
79 #[cfg(feature = "objc2-core-foundation")]
80 #[unsafe(method(setPanSensitivity:))]
82 #[unsafe(method_family = none)]
83 unsafe fn setPanSensitivity(&self, pan_sensitivity: CGFloat);
84
85 #[cfg(feature = "objc2-core-foundation")]
86 #[unsafe(method(truckSensitivity))]
87 #[unsafe(method_family = none)]
88 unsafe fn truckSensitivity(&self) -> CGFloat;
89
90 #[cfg(feature = "objc2-core-foundation")]
91 #[unsafe(method(setTruckSensitivity:))]
93 #[unsafe(method_family = none)]
94 unsafe fn setTruckSensitivity(&self, truck_sensitivity: CGFloat);
95
96 #[cfg(feature = "objc2-core-foundation")]
97 #[unsafe(method(rotationSensitivity))]
98 #[unsafe(method_family = none)]
99 unsafe fn rotationSensitivity(&self) -> CGFloat;
100
101 #[cfg(feature = "objc2-core-foundation")]
102 #[unsafe(method(setRotationSensitivity:))]
104 #[unsafe(method_family = none)]
105 unsafe fn setRotationSensitivity(&self, rotation_sensitivity: CGFloat);
106 }
107);
108
109extern_class!(
110 #[unsafe(super(NSView, NSResponder, NSObject))]
114 #[derive(Debug, PartialEq, Eq, Hash)]
115 #[cfg(feature = "objc2-app-kit")]
116 #[cfg(target_os = "macos")]
117 pub struct SCNView;
118);
119
120#[cfg(feature = "objc2-app-kit")]
121#[cfg(target_os = "macos")]
122extern_conformance!(
123 unsafe impl NSAccessibility for SCNView {}
124);
125
126#[cfg(feature = "objc2-app-kit")]
127#[cfg(target_os = "macos")]
128extern_conformance!(
129 unsafe impl NSAccessibilityElementProtocol for SCNView {}
130);
131
132#[cfg(feature = "objc2-app-kit")]
133#[cfg(target_os = "macos")]
134extern_conformance!(
135 unsafe impl NSAnimatablePropertyContainer for SCNView {}
136);
137
138#[cfg(feature = "objc2-app-kit")]
139#[cfg(target_os = "macos")]
140extern_conformance!(
141 unsafe impl NSAppearanceCustomization for SCNView {}
142);
143
144#[cfg(feature = "objc2-app-kit")]
145#[cfg(target_os = "macos")]
146extern_conformance!(
147 unsafe impl NSCoding for SCNView {}
148);
149
150#[cfg(feature = "objc2-app-kit")]
151#[cfg(target_os = "macos")]
152extern_conformance!(
153 unsafe impl NSDraggingDestination for SCNView {}
154);
155
156#[cfg(feature = "objc2-app-kit")]
157#[cfg(target_os = "macos")]
158extern_conformance!(
159 unsafe impl NSObjectProtocol for SCNView {}
160);
161
162#[cfg(feature = "objc2-app-kit")]
163#[cfg(target_os = "macos")]
164extern_conformance!(
165 unsafe impl NSUserInterfaceItemIdentification for SCNView {}
166);
167
168#[cfg(all(feature = "SCNSceneRenderer", feature = "objc2-app-kit"))]
169#[cfg(target_os = "macos")]
170extern_conformance!(
171 unsafe impl SCNSceneRenderer for SCNView {}
172);
173
174#[cfg(all(feature = "SCNTechnique", feature = "objc2-app-kit"))]
175#[cfg(target_os = "macos")]
176extern_conformance!(
177 unsafe impl SCNTechniqueSupport for SCNView {}
178);
179
180#[cfg(feature = "objc2-app-kit")]
181#[cfg(target_os = "macos")]
182impl SCNView {
183 extern_methods!(
184 #[unsafe(method(initWithFrame:options:))]
190 #[unsafe(method_family = init)]
191 pub unsafe fn initWithFrame_options(
192 this: Allocated<Self>,
193 frame: NSRect,
194 options: Option<&NSDictionary<NSString, AnyObject>>,
195 ) -> Retained<Self>;
196
197 #[cfg(feature = "SCNScene")]
198 #[unsafe(method(scene))]
200 #[unsafe(method_family = none)]
201 pub unsafe fn scene(&self) -> Option<Retained<SCNScene>>;
202
203 #[cfg(feature = "SCNScene")]
204 #[unsafe(method(setScene:))]
206 #[unsafe(method_family = none)]
207 pub unsafe fn setScene(&self, scene: Option<&SCNScene>);
208
209 #[unsafe(method(rendersContinuously))]
211 #[unsafe(method_family = none)]
212 pub unsafe fn rendersContinuously(&self) -> bool;
213
214 #[unsafe(method(setRendersContinuously:))]
216 #[unsafe(method_family = none)]
217 pub unsafe fn setRendersContinuously(&self, renders_continuously: bool);
218
219 #[unsafe(method(backgroundColor))]
221 #[unsafe(method_family = none)]
222 pub unsafe fn backgroundColor(&self) -> Retained<NSColor>;
223
224 #[unsafe(method(setBackgroundColor:))]
226 #[unsafe(method_family = none)]
227 pub unsafe fn setBackgroundColor(&self, background_color: &NSColor);
228
229 #[unsafe(method(allowsCameraControl))]
243 #[unsafe(method_family = none)]
244 pub unsafe fn allowsCameraControl(&self) -> bool;
245
246 #[unsafe(method(setAllowsCameraControl:))]
248 #[unsafe(method_family = none)]
249 pub unsafe fn setAllowsCameraControl(&self, allows_camera_control: bool);
250
251 #[unsafe(method(cameraControlConfiguration))]
255 #[unsafe(method_family = none)]
256 pub unsafe fn cameraControlConfiguration(
257 &self,
258 ) -> Retained<ProtocolObject<dyn SCNCameraControlConfiguration>>;
259
260 #[cfg(feature = "SCNCameraController")]
261 #[unsafe(method(defaultCameraController))]
263 #[unsafe(method_family = none)]
264 pub unsafe fn defaultCameraController(&self) -> Retained<SCNCameraController>;
265
266 #[unsafe(method(snapshot))]
270 #[unsafe(method_family = none)]
271 pub unsafe fn snapshot(&self) -> Retained<NSImage>;
272
273 #[unsafe(method(play:))]
279 #[unsafe(method_family = none)]
280 pub unsafe fn play(&self, sender: Option<&AnyObject>);
281
282 #[unsafe(method(pause:))]
288 #[unsafe(method_family = none)]
289 pub unsafe fn pause(&self, sender: Option<&AnyObject>);
290
291 #[unsafe(method(stop:))]
295 #[unsafe(method_family = none)]
296 pub unsafe fn stop(&self, sender: Option<&AnyObject>);
297
298 #[unsafe(method(preferredFramesPerSecond))]
303 #[unsafe(method_family = none)]
304 pub unsafe fn preferredFramesPerSecond(&self) -> NSInteger;
305
306 #[unsafe(method(setPreferredFramesPerSecond:))]
308 #[unsafe(method_family = none)]
309 pub unsafe fn setPreferredFramesPerSecond(&self, preferred_frames_per_second: NSInteger);
310
311 #[unsafe(method(drawableResizesAsynchronously))]
315 #[unsafe(method_family = none)]
316 pub unsafe fn drawableResizesAsynchronously(&self) -> bool;
317
318 #[unsafe(method(setDrawableResizesAsynchronously:))]
320 #[unsafe(method_family = none)]
321 pub unsafe fn setDrawableResizesAsynchronously(
322 &self,
323 drawable_resizes_asynchronously: bool,
324 );
325
326 #[cfg(feature = "SCNSceneRenderer")]
327 #[unsafe(method(antialiasingMode))]
329 #[unsafe(method_family = none)]
330 pub unsafe fn antialiasingMode(&self) -> SCNAntialiasingMode;
331
332 #[cfg(feature = "SCNSceneRenderer")]
333 #[unsafe(method(setAntialiasingMode:))]
335 #[unsafe(method_family = none)]
336 pub unsafe fn setAntialiasingMode(&self, antialiasing_mode: SCNAntialiasingMode);
337 );
338}
339
340#[cfg(feature = "objc2-app-kit")]
342#[cfg(target_os = "macos")]
343impl SCNView {
344 extern_methods!(
345 #[unsafe(method(initWithFrame:))]
346 #[unsafe(method_family = init)]
347 pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
348
349 #[unsafe(method(initWithCoder:))]
350 #[unsafe(method_family = init)]
351 pub unsafe fn initWithCoder(
352 this: Allocated<Self>,
353 coder: &NSCoder,
354 ) -> Option<Retained<Self>>;
355 );
356}
357
358#[cfg(feature = "objc2-app-kit")]
360#[cfg(target_os = "macos")]
361impl SCNView {
362 extern_methods!(
363 #[unsafe(method(init))]
364 #[unsafe(method_family = init)]
365 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
366 );
367}
368
369#[cfg(feature = "objc2-app-kit")]
371#[cfg(target_os = "macos")]
372impl SCNView {
373 extern_methods!(
374 #[unsafe(method(new))]
375 #[unsafe(method_family = new)]
376 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
377 );
378}