use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
use objc2_foundation::*;
use crate::*;
pub type CAMediaTimingFillMode = NSString;
extern_protocol!(
pub unsafe trait CAMediaTiming {
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(beginTime))]
#[unsafe(method_family = none)]
fn beginTime(&self) -> CFTimeInterval;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setBeginTime:))]
#[unsafe(method_family = none)]
fn setBeginTime(&self, begin_time: CFTimeInterval);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(duration))]
#[unsafe(method_family = none)]
fn duration(&self) -> CFTimeInterval;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setDuration:))]
#[unsafe(method_family = none)]
fn setDuration(&self, duration: CFTimeInterval);
#[unsafe(method(speed))]
#[unsafe(method_family = none)]
fn speed(&self) -> c_float;
#[unsafe(method(setSpeed:))]
#[unsafe(method_family = none)]
fn setSpeed(&self, speed: c_float);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(timeOffset))]
#[unsafe(method_family = none)]
fn timeOffset(&self) -> CFTimeInterval;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setTimeOffset:))]
#[unsafe(method_family = none)]
fn setTimeOffset(&self, time_offset: CFTimeInterval);
#[unsafe(method(repeatCount))]
#[unsafe(method_family = none)]
fn repeatCount(&self) -> c_float;
#[unsafe(method(setRepeatCount:))]
#[unsafe(method_family = none)]
fn setRepeatCount(&self, repeat_count: c_float);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(repeatDuration))]
#[unsafe(method_family = none)]
fn repeatDuration(&self) -> CFTimeInterval;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setRepeatDuration:))]
#[unsafe(method_family = none)]
fn setRepeatDuration(&self, repeat_duration: CFTimeInterval);
#[unsafe(method(autoreverses))]
#[unsafe(method_family = none)]
fn autoreverses(&self) -> bool;
#[unsafe(method(setAutoreverses:))]
#[unsafe(method_family = none)]
fn setAutoreverses(&self, autoreverses: bool);
#[unsafe(method(fillMode))]
#[unsafe(method_family = none)]
fn fillMode(&self) -> Retained<CAMediaTimingFillMode>;
#[unsafe(method(setFillMode:))]
#[unsafe(method_family = none)]
fn setFillMode(&self, fill_mode: &CAMediaTimingFillMode);
}
);
extern "C" {
pub static kCAFillModeForwards: &'static CAMediaTimingFillMode;
}
extern "C" {
pub static kCAFillModeBackwards: &'static CAMediaTimingFillMode;
}
extern "C" {
pub static kCAFillModeBoth: &'static CAMediaTimingFillMode;
}
extern "C" {
pub static kCAFillModeRemoved: &'static CAMediaTimingFillMode;
}