objc2_sprite_kit/generated/
SKKeyframeSequence.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
10use crate::*;
11
12/// [Apple's documentation](https://developer.apple.com/documentation/spritekit/skinterpolationmode?language=objc)
13// NS_ENUM
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct SKInterpolationMode(pub NSInteger);
17impl SKInterpolationMode {
18    #[doc(alias = "SKInterpolationModeLinear")]
19    pub const Linear: Self = Self(1);
20    #[doc(alias = "SKInterpolationModeSpline")]
21    pub const Spline: Self = Self(2);
22    #[doc(alias = "SKInterpolationModeStep")]
23    pub const Step: Self = Self(3);
24}
25
26unsafe impl Encode for SKInterpolationMode {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for SKInterpolationMode {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34/// [Apple's documentation](https://developer.apple.com/documentation/spritekit/skrepeatmode?language=objc)
35// NS_ENUM
36#[repr(transparent)]
37#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
38pub struct SKRepeatMode(pub NSInteger);
39impl SKRepeatMode {
40    #[doc(alias = "SKRepeatModeClamp")]
41    pub const Clamp: Self = Self(1);
42    #[doc(alias = "SKRepeatModeLoop")]
43    pub const Loop: Self = Self(2);
44}
45
46unsafe impl Encode for SKRepeatMode {
47    const ENCODING: Encoding = NSInteger::ENCODING;
48}
49
50unsafe impl RefEncode for SKRepeatMode {
51    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
52}
53
54extern_class!(
55    /// [Apple's documentation](https://developer.apple.com/documentation/spritekit/skkeyframesequence?language=objc)
56    #[unsafe(super(NSObject))]
57    #[derive(Debug, PartialEq, Eq, Hash)]
58    pub struct SKKeyframeSequence;
59);
60
61extern_conformance!(
62    unsafe impl NSCoding for SKKeyframeSequence {}
63);
64
65extern_conformance!(
66    unsafe impl NSCopying for SKKeyframeSequence {}
67);
68
69unsafe impl CopyingHelper for SKKeyframeSequence {
70    type Result = Self;
71}
72
73extern_conformance!(
74    unsafe impl NSObjectProtocol for SKKeyframeSequence {}
75);
76
77extern_conformance!(
78    unsafe impl NSSecureCoding for SKKeyframeSequence {}
79);
80
81impl SKKeyframeSequence {
82    extern_methods!(
83        #[unsafe(method(initWithKeyframeValues:times:))]
84        #[unsafe(method_family = init)]
85        pub unsafe fn initWithKeyframeValues_times(
86            this: Allocated<Self>,
87            values: &NSArray,
88            times: &NSArray<NSNumber>,
89        ) -> Retained<Self>;
90
91        #[unsafe(method(initWithCapacity:))]
92        #[unsafe(method_family = init)]
93        pub unsafe fn initWithCapacity(
94            this: Allocated<Self>,
95            num_items: NSUInteger,
96        ) -> Retained<Self>;
97
98        /// Support coding and decoding via NSKeyedArchiver.
99        #[unsafe(method(initWithCoder:))]
100        #[unsafe(method_family = init)]
101        pub unsafe fn initWithCoder(
102            this: Allocated<Self>,
103            a_decoder: &NSCoder,
104        ) -> Option<Retained<Self>>;
105
106        #[unsafe(method(count))]
107        #[unsafe(method_family = none)]
108        pub unsafe fn count(&self) -> NSUInteger;
109
110        #[cfg(feature = "objc2-core-foundation")]
111        #[unsafe(method(addKeyframeValue:time:))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn addKeyframeValue_time(&self, value: &AnyObject, time: CGFloat);
114
115        #[unsafe(method(removeLastKeyframe))]
116        #[unsafe(method_family = none)]
117        pub unsafe fn removeLastKeyframe(&self);
118
119        #[unsafe(method(removeKeyframeAtIndex:))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn removeKeyframeAtIndex(&self, index: NSUInteger);
122
123        #[unsafe(method(setKeyframeValue:forIndex:))]
124        #[unsafe(method_family = none)]
125        pub unsafe fn setKeyframeValue_forIndex(&self, value: &AnyObject, index: NSUInteger);
126
127        #[cfg(feature = "objc2-core-foundation")]
128        #[unsafe(method(setKeyframeTime:forIndex:))]
129        #[unsafe(method_family = none)]
130        pub unsafe fn setKeyframeTime_forIndex(&self, time: CGFloat, index: NSUInteger);
131
132        #[cfg(feature = "objc2-core-foundation")]
133        #[unsafe(method(setKeyframeValue:time:forIndex:))]
134        #[unsafe(method_family = none)]
135        pub unsafe fn setKeyframeValue_time_forIndex(
136            &self,
137            value: &AnyObject,
138            time: CGFloat,
139            index: NSUInteger,
140        );
141
142        #[unsafe(method(getKeyframeValueForIndex:))]
143        #[unsafe(method_family = none)]
144        pub unsafe fn getKeyframeValueForIndex(&self, index: NSUInteger) -> Retained<AnyObject>;
145
146        #[cfg(feature = "objc2-core-foundation")]
147        #[unsafe(method(getKeyframeTimeForIndex:))]
148        #[unsafe(method_family = none)]
149        pub unsafe fn getKeyframeTimeForIndex(&self, index: NSUInteger) -> CGFloat;
150
151        #[cfg(feature = "objc2-core-foundation")]
152        #[unsafe(method(sampleAtTime:))]
153        #[unsafe(method_family = none)]
154        pub unsafe fn sampleAtTime(&self, time: CGFloat) -> Option<Retained<AnyObject>>;
155
156        #[unsafe(method(interpolationMode))]
157        #[unsafe(method_family = none)]
158        pub unsafe fn interpolationMode(&self) -> SKInterpolationMode;
159
160        /// Setter for [`interpolationMode`][Self::interpolationMode].
161        #[unsafe(method(setInterpolationMode:))]
162        #[unsafe(method_family = none)]
163        pub unsafe fn setInterpolationMode(&self, interpolation_mode: SKInterpolationMode);
164
165        #[unsafe(method(repeatMode))]
166        #[unsafe(method_family = none)]
167        pub unsafe fn repeatMode(&self) -> SKRepeatMode;
168
169        /// Setter for [`repeatMode`][Self::repeatMode].
170        #[unsafe(method(setRepeatMode:))]
171        #[unsafe(method_family = none)]
172        pub unsafe fn setRepeatMode(&self, repeat_mode: SKRepeatMode);
173    );
174}
175
176/// Methods declared on superclass `NSObject`.
177impl SKKeyframeSequence {
178    extern_methods!(
179        #[unsafe(method(init))]
180        #[unsafe(method_family = init)]
181        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
182
183        #[unsafe(method(new))]
184        #[unsafe(method_family = new)]
185        pub unsafe fn new() -> Retained<Self>;
186    );
187}