use crate::common::*;
use crate::CoreAnimation::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(c_int)]
pub enum CAConstraintAttribute {
kCAConstraintMinX = 0,
kCAConstraintMidX = 1,
kCAConstraintMaxX = 2,
kCAConstraintWidth = 3,
kCAConstraintMinY = 4,
kCAConstraintMidY = 5,
kCAConstraintMaxY = 6,
kCAConstraintHeight = 7,
}
);
extern_methods!(
#[cfg(feature = "CoreAnimation_CALayer")]
unsafe impl CALayer {
#[cfg(all(feature = "CoreAnimation_CAConstraint", feature = "Foundation_NSArray"))]
#[method_id(@__retain_semantics Other constraints)]
pub unsafe fn constraints(&self) -> Option<Id<NSArray<CAConstraint>>>;
#[cfg(all(feature = "CoreAnimation_CAConstraint", feature = "Foundation_NSArray"))]
#[method(setConstraints:)]
pub unsafe fn setConstraints(&self, constraints: Option<&NSArray<CAConstraint>>);
#[cfg(feature = "CoreAnimation_CAConstraint")]
#[method(addConstraint:)]
pub unsafe fn addConstraint(&self, c: &CAConstraint);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "CoreAnimation_CAConstraintLayoutManager")]
pub struct CAConstraintLayoutManager;
#[cfg(feature = "CoreAnimation_CAConstraintLayoutManager")]
unsafe impl ClassType for CAConstraintLayoutManager {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "CoreAnimation_CAConstraintLayoutManager")]
unsafe impl CALayoutManager for CAConstraintLayoutManager {}
#[cfg(feature = "CoreAnimation_CAConstraintLayoutManager")]
unsafe impl NSObjectProtocol for CAConstraintLayoutManager {}
extern_methods!(
#[cfg(feature = "CoreAnimation_CAConstraintLayoutManager")]
unsafe impl CAConstraintLayoutManager {
#[method_id(@__retain_semantics Other layoutManager)]
pub unsafe fn layoutManager() -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "CoreAnimation_CAConstraintLayoutManager")]
unsafe impl CAConstraintLayoutManager {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "CoreAnimation_CAConstraint")]
pub struct CAConstraint;
#[cfg(feature = "CoreAnimation_CAConstraint")]
unsafe impl ClassType for CAConstraint {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "CoreAnimation_CAConstraint")]
unsafe impl NSCoding for CAConstraint {}
#[cfg(feature = "CoreAnimation_CAConstraint")]
unsafe impl NSObjectProtocol for CAConstraint {}
#[cfg(feature = "CoreAnimation_CAConstraint")]
unsafe impl NSSecureCoding for CAConstraint {}
extern_methods!(
#[cfg(feature = "CoreAnimation_CAConstraint")]
unsafe impl CAConstraint {
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other constraintWithAttribute:relativeTo:attribute:scale:offset:)]
pub unsafe fn constraintWithAttribute_relativeTo_attribute_scale_offset(
attr: CAConstraintAttribute,
src_id: &NSString,
src_attr: CAConstraintAttribute,
m: CGFloat,
c: CGFloat,
) -> Id<Self>;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other constraintWithAttribute:relativeTo:attribute:offset:)]
pub unsafe fn constraintWithAttribute_relativeTo_attribute_offset(
attr: CAConstraintAttribute,
src_id: &NSString,
src_attr: CAConstraintAttribute,
c: CGFloat,
) -> Id<Self>;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other constraintWithAttribute:relativeTo:attribute:)]
pub unsafe fn constraintWithAttribute_relativeTo_attribute(
attr: CAConstraintAttribute,
src_id: &NSString,
src_attr: CAConstraintAttribute,
) -> Id<Self>;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Init initWithAttribute:relativeTo:attribute:scale:offset:)]
pub unsafe fn initWithAttribute_relativeTo_attribute_scale_offset(
this: Option<Allocated<Self>>,
attr: CAConstraintAttribute,
src_id: &NSString,
src_attr: CAConstraintAttribute,
m: CGFloat,
c: CGFloat,
) -> Id<Self>;
#[method(attribute)]
pub unsafe fn attribute(&self) -> CAConstraintAttribute;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other sourceName)]
pub unsafe fn sourceName(&self) -> Id<NSString>;
#[method(sourceAttribute)]
pub unsafe fn sourceAttribute(&self) -> CAConstraintAttribute;
#[method(scale)]
pub unsafe fn scale(&self) -> CGFloat;
#[method(offset)]
pub unsafe fn offset(&self) -> CGFloat;
}
);
extern_methods!(
#[cfg(feature = "CoreAnimation_CAConstraint")]
unsafe impl CAConstraint {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);