objc2_scene_kit/generated/
SCNTransaction.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#[cfg(feature = "objc2-quartz-core")]
10#[cfg(not(target_os = "watchos"))]
11use objc2_quartz_core::*;
12
13use crate::*;
14
15extern_class!(
16    /// [Apple's documentation](https://developer.apple.com/documentation/scenekit/scntransaction?language=objc)
17    #[unsafe(super(NSObject))]
18    #[derive(Debug, PartialEq, Eq, Hash)]
19    pub struct SCNTransaction;
20);
21
22extern_conformance!(
23    unsafe impl NSObjectProtocol for SCNTransaction {}
24);
25
26impl SCNTransaction {
27    extern_methods!(
28        #[unsafe(method(begin))]
29        #[unsafe(method_family = none)]
30        pub unsafe fn begin();
31
32        #[unsafe(method(commit))]
33        #[unsafe(method_family = none)]
34        pub unsafe fn commit();
35
36        #[unsafe(method(flush))]
37        #[unsafe(method_family = none)]
38        pub unsafe fn flush();
39
40        #[unsafe(method(lock))]
41        #[unsafe(method_family = none)]
42        pub unsafe fn lock();
43
44        #[unsafe(method(unlock))]
45        #[unsafe(method_family = none)]
46        pub unsafe fn unlock();
47
48        #[cfg(feature = "objc2-core-foundation")]
49        #[unsafe(method(animationDuration))]
50        #[unsafe(method_family = none)]
51        pub unsafe fn animationDuration() -> CFTimeInterval;
52
53        #[cfg(feature = "objc2-core-foundation")]
54        /// Setter for [`animationDuration`][Self::animationDuration].
55        #[unsafe(method(setAnimationDuration:))]
56        #[unsafe(method_family = none)]
57        pub unsafe fn setAnimationDuration(animation_duration: CFTimeInterval);
58
59        #[cfg(feature = "objc2-quartz-core")]
60        #[cfg(not(target_os = "watchos"))]
61        #[unsafe(method(animationTimingFunction))]
62        #[unsafe(method_family = none)]
63        pub unsafe fn animationTimingFunction() -> Option<Retained<CAMediaTimingFunction>>;
64
65        #[cfg(feature = "objc2-quartz-core")]
66        #[cfg(not(target_os = "watchos"))]
67        /// Setter for [`animationTimingFunction`][Self::animationTimingFunction].
68        ///
69        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
70        #[unsafe(method(setAnimationTimingFunction:))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn setAnimationTimingFunction(
73            animation_timing_function: Option<&CAMediaTimingFunction>,
74        );
75
76        #[unsafe(method(disableActions))]
77        #[unsafe(method_family = none)]
78        pub unsafe fn disableActions() -> bool;
79
80        /// Setter for [`disableActions`][Self::disableActions].
81        #[unsafe(method(setDisableActions:))]
82        #[unsafe(method_family = none)]
83        pub unsafe fn setDisableActions(disable_actions: bool);
84
85        #[cfg(feature = "block2")]
86        #[unsafe(method(completionBlock))]
87        #[unsafe(method_family = none)]
88        pub unsafe fn completionBlock() -> *mut block2::DynBlock<dyn Fn()>;
89
90        #[cfg(feature = "block2")]
91        /// Setter for [`completionBlock`][Self::completionBlock].
92        ///
93        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
94        #[unsafe(method(setCompletionBlock:))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn setCompletionBlock(completion_block: Option<&block2::DynBlock<dyn Fn()>>);
97
98        #[unsafe(method(valueForKey:))]
99        #[unsafe(method_family = none)]
100        pub unsafe fn valueForKey(key: &NSString) -> Option<Retained<AnyObject>>;
101
102        /// # Safety
103        ///
104        /// `value` should be of the correct type.
105        #[unsafe(method(setValue:forKey:))]
106        #[unsafe(method_family = none)]
107        pub unsafe fn setValue_forKey(value: Option<&AnyObject>, key: &NSString);
108    );
109}
110
111/// Methods declared on superclass `NSObject`.
112impl SCNTransaction {
113    extern_methods!(
114        #[unsafe(method(init))]
115        #[unsafe(method_family = init)]
116        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
117
118        #[unsafe(method(new))]
119        #[unsafe(method_family = new)]
120        pub unsafe fn new() -> Retained<Self>;
121    );
122}