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!(
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!(
unsafe impl UISpringTimingParameters {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);