objc2_sprite_kit/generated/
SKTransition.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-app-kit")]
7#[cfg(target_os = "macos")]
8use objc2_app_kit::*;
9#[cfg(feature = "objc2-core-image")]
10#[cfg(not(target_os = "watchos"))]
11use objc2_core_image::*;
12use objc2_foundation::*;
13
14use crate::*;
15
16/// [Apple's documentation](https://developer.apple.com/documentation/spritekit/sktransitiondirection?language=objc)
17// NS_ENUM
18#[repr(transparent)]
19#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
20pub struct SKTransitionDirection(pub NSInteger);
21impl SKTransitionDirection {
22    #[doc(alias = "SKTransitionDirectionUp")]
23    pub const Up: Self = Self(0);
24    #[doc(alias = "SKTransitionDirectionDown")]
25    pub const Down: Self = Self(1);
26    #[doc(alias = "SKTransitionDirectionRight")]
27    pub const Right: Self = Self(2);
28    #[doc(alias = "SKTransitionDirectionLeft")]
29    pub const Left: Self = Self(3);
30}
31
32unsafe impl Encode for SKTransitionDirection {
33    const ENCODING: Encoding = NSInteger::ENCODING;
34}
35
36unsafe impl RefEncode for SKTransitionDirection {
37    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
38}
39
40extern_class!(
41    /// A transition style from one scene to another.
42    ///
43    /// See also [Apple's documentation](https://developer.apple.com/documentation/spritekit/sktransition?language=objc)
44    #[unsafe(super(NSObject))]
45    #[derive(Debug, PartialEq, Eq, Hash)]
46    pub struct SKTransition;
47);
48
49unsafe impl NSCopying for SKTransition {}
50
51unsafe impl CopyingHelper for SKTransition {
52    type Result = Self;
53}
54
55unsafe impl NSObjectProtocol for SKTransition {}
56
57impl SKTransition {
58    extern_methods!(
59        #[unsafe(method(crossFadeWithDuration:))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn crossFadeWithDuration(sec: NSTimeInterval) -> Retained<SKTransition>;
62
63        #[unsafe(method(fadeWithDuration:))]
64        #[unsafe(method_family = none)]
65        pub unsafe fn fadeWithDuration(sec: NSTimeInterval) -> Retained<SKTransition>;
66
67        #[cfg(feature = "objc2-app-kit")]
68        #[cfg(target_os = "macos")]
69        #[unsafe(method(fadeWithColor:duration:))]
70        #[unsafe(method_family = none)]
71        pub unsafe fn fadeWithColor_duration(
72            color: &NSColor,
73            sec: NSTimeInterval,
74        ) -> Retained<SKTransition>;
75
76        #[unsafe(method(flipHorizontalWithDuration:))]
77        #[unsafe(method_family = none)]
78        pub unsafe fn flipHorizontalWithDuration(sec: NSTimeInterval) -> Retained<SKTransition>;
79
80        #[unsafe(method(flipVerticalWithDuration:))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn flipVerticalWithDuration(sec: NSTimeInterval) -> Retained<SKTransition>;
83
84        #[unsafe(method(revealWithDirection:duration:))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn revealWithDirection_duration(
87            direction: SKTransitionDirection,
88            sec: NSTimeInterval,
89        ) -> Retained<SKTransition>;
90
91        #[unsafe(method(moveInWithDirection:duration:))]
92        #[unsafe(method_family = none)]
93        pub unsafe fn moveInWithDirection_duration(
94            direction: SKTransitionDirection,
95            sec: NSTimeInterval,
96        ) -> Retained<SKTransition>;
97
98        #[unsafe(method(pushWithDirection:duration:))]
99        #[unsafe(method_family = none)]
100        pub unsafe fn pushWithDirection_duration(
101            direction: SKTransitionDirection,
102            sec: NSTimeInterval,
103        ) -> Retained<SKTransition>;
104
105        #[unsafe(method(doorsOpenHorizontalWithDuration:))]
106        #[unsafe(method_family = none)]
107        pub unsafe fn doorsOpenHorizontalWithDuration(
108            sec: NSTimeInterval,
109        ) -> Retained<SKTransition>;
110
111        #[unsafe(method(doorsOpenVerticalWithDuration:))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn doorsOpenVerticalWithDuration(sec: NSTimeInterval) -> Retained<SKTransition>;
114
115        #[unsafe(method(doorsCloseHorizontalWithDuration:))]
116        #[unsafe(method_family = none)]
117        pub unsafe fn doorsCloseHorizontalWithDuration(
118            sec: NSTimeInterval,
119        ) -> Retained<SKTransition>;
120
121        #[unsafe(method(doorsCloseVerticalWithDuration:))]
122        #[unsafe(method_family = none)]
123        pub unsafe fn doorsCloseVerticalWithDuration(sec: NSTimeInterval)
124            -> Retained<SKTransition>;
125
126        #[unsafe(method(doorwayWithDuration:))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn doorwayWithDuration(sec: NSTimeInterval) -> Retained<SKTransition>;
129
130        #[cfg(feature = "objc2-core-image")]
131        #[cfg(not(target_os = "watchos"))]
132        #[unsafe(method(transitionWithCIFilter:duration:))]
133        #[unsafe(method_family = none)]
134        pub unsafe fn transitionWithCIFilter_duration(
135            filter: &CIFilter,
136            sec: NSTimeInterval,
137        ) -> Retained<SKTransition>;
138
139        /// Pause the incoming Scene during the transition, defaults to YES.
140        #[unsafe(method(pausesIncomingScene))]
141        #[unsafe(method_family = none)]
142        pub unsafe fn pausesIncomingScene(&self) -> bool;
143
144        /// Setter for [`pausesIncomingScene`][Self::pausesIncomingScene].
145        #[unsafe(method(setPausesIncomingScene:))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn setPausesIncomingScene(&self, pauses_incoming_scene: bool);
148
149        /// Pause the outgoing Scene during the transition, defaults to YES.
150        #[unsafe(method(pausesOutgoingScene))]
151        #[unsafe(method_family = none)]
152        pub unsafe fn pausesOutgoingScene(&self) -> bool;
153
154        /// Setter for [`pausesOutgoingScene`][Self::pausesOutgoingScene].
155        #[unsafe(method(setPausesOutgoingScene:))]
156        #[unsafe(method_family = none)]
157        pub unsafe fn setPausesOutgoingScene(&self, pauses_outgoing_scene: bool);
158    );
159}
160
161/// Methods declared on superclass `NSObject`.
162impl SKTransition {
163    extern_methods!(
164        #[unsafe(method(init))]
165        #[unsafe(method_family = init)]
166        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
167
168        #[unsafe(method(new))]
169        #[unsafe(method_family = new)]
170        pub unsafe fn new() -> Retained<Self>;
171    );
172}