use crate::common::*;
use crate::CoreAnimation::*;
use crate::Foundation::*;
typed_enum!(
pub type CAGradientLayerType = NSString;
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
pub struct CAGradientLayer;
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl ClassType for CAGradientLayer {
#[inherits(NSObject)]
type Super = CALayer;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl CAMediaTiming for CAGradientLayer {}
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl NSCoding for CAGradientLayer {}
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl NSObjectProtocol for CAGradientLayer {}
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl NSSecureCoding for CAGradientLayer {}
extern_methods!(
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl CAGradientLayer {
#[cfg(feature = "Foundation_NSArray")]
#[method_id(@__retain_semantics Other colors)]
pub unsafe fn colors(&self) -> Option<Id<NSArray>>;
#[cfg(feature = "Foundation_NSArray")]
#[method(setColors:)]
pub unsafe fn setColors(&self, colors: Option<&NSArray>);
#[cfg(all(feature = "Foundation_NSArray", feature = "Foundation_NSNumber"))]
#[method_id(@__retain_semantics Other locations)]
pub unsafe fn locations(&self) -> Option<Id<NSArray<NSNumber>>>;
#[cfg(all(feature = "Foundation_NSArray", feature = "Foundation_NSNumber"))]
#[method(setLocations:)]
pub unsafe fn setLocations(&self, locations: Option<&NSArray<NSNumber>>);
#[method(startPoint)]
pub unsafe fn startPoint(&self) -> CGPoint;
#[method(setStartPoint:)]
pub unsafe fn setStartPoint(&self, start_point: CGPoint);
#[method(endPoint)]
pub unsafe fn endPoint(&self) -> CGPoint;
#[method(setEndPoint:)]
pub unsafe fn setEndPoint(&self, end_point: CGPoint);
#[method_id(@__retain_semantics Other type)]
pub unsafe fn r#type(&self) -> Id<CAGradientLayerType>;
#[method(setType:)]
pub unsafe fn setType(&self, r#type: &CAGradientLayerType);
}
);
extern_methods!(
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl CAGradientLayer {
#[method_id(@__retain_semantics Other layer)]
pub unsafe fn layer() -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithLayer:)]
pub unsafe fn initWithLayer(this: Allocated<Self>, layer: &AnyObject) -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "CoreAnimation_CAGradientLayer")]
unsafe impl CAGradientLayer {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_static!(kCAGradientLayerAxial: &'static CAGradientLayerType);
extern_static!(kCAGradientLayerRadial: &'static CAGradientLayerType);
extern_static!(kCAGradientLayerConic: &'static CAGradientLayerType);