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
141
142
143
144
145
146
147
148
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct UICubicTimingParameters;

    unsafe impl ClassType for UICubicTimingParameters {
        type Super = NSObject;
        type Mutability = MainThreadOnly;
    }
);

unsafe impl NSCoding for UICubicTimingParameters {}

unsafe impl NSCopying for UICubicTimingParameters {}

unsafe impl NSObjectProtocol for UICubicTimingParameters {}

#[cfg(feature = "UITimingCurveProvider")]
unsafe impl UITimingCurveProvider for UICubicTimingParameters {}

extern_methods!(
    unsafe impl UICubicTimingParameters {
        #[cfg(feature = "UIView")]
        #[method(animationCurve)]
        pub unsafe fn animationCurve(&self) -> UIViewAnimationCurve;

        #[method(controlPoint1)]
        pub unsafe fn controlPoint1(&self) -> CGPoint;

        #[method(controlPoint2)]
        pub unsafe fn controlPoint2(&self) -> CGPoint;

        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[method_id(@__retain_semantics Init initWithCoder:)]
        pub unsafe fn initWithCoder(
            this: Allocated<Self>,
            coder: &NSCoder,
        ) -> Option<Retained<Self>>;

        #[cfg(feature = "UIView")]
        #[method_id(@__retain_semantics Init initWithAnimationCurve:)]
        pub unsafe fn initWithAnimationCurve(
            this: Allocated<Self>,
            curve: UIViewAnimationCurve,
        ) -> Retained<Self>;

        #[method_id(@__retain_semantics Init initWithControlPoint1:controlPoint2:)]
        pub unsafe fn initWithControlPoint1_controlPoint2(
            this: Allocated<Self>,
            point1: CGPoint,
            point2: CGPoint,
        ) -> Retained<Self>;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    unsafe impl UICubicTimingParameters {
        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
    }
);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct UISpringTimingParameters;

    unsafe impl ClassType for UISpringTimingParameters {
        type Super = NSObject;
        type Mutability = MainThreadOnly;
    }
);

unsafe impl NSCoding for UISpringTimingParameters {}

unsafe impl NSCopying for UISpringTimingParameters {}

unsafe impl NSObjectProtocol for UISpringTimingParameters {}

#[cfg(feature = "UITimingCurveProvider")]
unsafe impl UITimingCurveProvider for UISpringTimingParameters {}

extern_methods!(
    unsafe impl UISpringTimingParameters {
        #[method(initialVelocity)]
        pub unsafe fn initialVelocity(&self) -> CGVector;

        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[method_id(@__retain_semantics Init initWithCoder:)]
        pub unsafe fn initWithCoder(
            this: Allocated<Self>,
            coder: &NSCoder,
        ) -> Option<Retained<Self>>;

        #[method_id(@__retain_semantics Init initWithDampingRatio:initialVelocity:)]
        pub unsafe fn initWithDampingRatio_initialVelocity(
            this: Allocated<Self>,
            ratio: CGFloat,
            velocity: CGVector,
        ) -> Retained<Self>;

        #[method_id(@__retain_semantics Init initWithMass:stiffness:damping:initialVelocity:)]
        pub unsafe fn initWithMass_stiffness_damping_initialVelocity(
            this: Allocated<Self>,
            mass: CGFloat,
            stiffness: CGFloat,
            damping: CGFloat,
            velocity: CGVector,
        ) -> Retained<Self>;

        #[method_id(@__retain_semantics Init initWithDampingRatio:)]
        pub unsafe fn initWithDampingRatio(this: Allocated<Self>, ratio: CGFloat)
            -> Retained<Self>;

        #[method_id(@__retain_semantics Init initWithDuration:bounce:initialVelocity:)]
        pub unsafe fn initWithDuration_bounce_initialVelocity(
            this: Allocated<Self>,
            duration: NSTimeInterval,
            bounce: CGFloat,
            velocity: CGVector,
        ) -> Retained<Self>;

        #[method_id(@__retain_semantics Init initWithDuration:bounce:)]
        pub unsafe fn initWithDuration_bounce(
            this: Allocated<Self>,
            duration: NSTimeInterval,
            bounce: CGFloat,
        ) -> Retained<Self>;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    unsafe impl UISpringTimingParameters {
        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
    }
);