icrate 0.1.2

Bindings to Apple's frameworks
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
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!(
    /// CAConstraintLayoutManager
    #[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!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "CoreAnimation_CAConstraintLayoutManager")]
    unsafe impl CAConstraintLayoutManager {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: 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: 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!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "CoreAnimation_CAConstraint")]
    unsafe impl CAConstraint {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);