objc2_quartz_core/generated/
CAConstraintLayoutManager.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8use objc2_foundation::*;
9
10use crate::*;
11
12/// [Apple's documentation](https://developer.apple.com/documentation/quartzcore/caconstraintattribute?language=objc)
13// NS_ENUM
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct CAConstraintAttribute(pub c_int);
17impl CAConstraintAttribute {
18    #[doc(alias = "kCAConstraintMinX")]
19    pub const MinX: Self = Self(0);
20    #[doc(alias = "kCAConstraintMidX")]
21    pub const MidX: Self = Self(1);
22    #[doc(alias = "kCAConstraintMaxX")]
23    pub const MaxX: Self = Self(2);
24    #[doc(alias = "kCAConstraintWidth")]
25    pub const Width: Self = Self(3);
26    #[doc(alias = "kCAConstraintMinY")]
27    pub const MinY: Self = Self(4);
28    #[doc(alias = "kCAConstraintMidY")]
29    pub const MidY: Self = Self(5);
30    #[doc(alias = "kCAConstraintMaxY")]
31    pub const MaxY: Self = Self(6);
32    #[doc(alias = "kCAConstraintHeight")]
33    pub const Height: Self = Self(7);
34}
35
36unsafe impl Encode for CAConstraintAttribute {
37    const ENCODING: Encoding = c_int::ENCODING;
38}
39
40unsafe impl RefEncode for CAConstraintAttribute {
41    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
42}
43
44/// CAConstraintLayoutManager.
45/// The additions to CALayer for constraint layout. *
46#[cfg(feature = "CALayer")]
47impl CALayer {
48    extern_methods!(
49        #[unsafe(method(constraints))]
50        #[unsafe(method_family = none)]
51        pub unsafe fn constraints(&self) -> Option<Retained<NSArray<CAConstraint>>>;
52
53        /// Setter for [`constraints`][Self::constraints].
54        #[unsafe(method(setConstraints:))]
55        #[unsafe(method_family = none)]
56        pub unsafe fn setConstraints(&self, constraints: Option<&NSArray<CAConstraint>>);
57
58        #[unsafe(method(addConstraint:))]
59        #[unsafe(method_family = none)]
60        pub unsafe fn addConstraint(&self, c: &CAConstraint);
61    );
62}
63
64extern_class!(
65    /// The constraint-based layout manager. *
66    ///
67    /// See also [Apple's documentation](https://developer.apple.com/documentation/quartzcore/caconstraintlayoutmanager?language=objc)
68    #[unsafe(super(NSObject))]
69    #[derive(Debug, PartialEq, Eq, Hash)]
70    pub struct CAConstraintLayoutManager;
71);
72
73#[cfg(feature = "CALayer")]
74extern_conformance!(
75    unsafe impl CALayoutManager for CAConstraintLayoutManager {}
76);
77
78extern_conformance!(
79    unsafe impl NSObjectProtocol for CAConstraintLayoutManager {}
80);
81
82impl CAConstraintLayoutManager {
83    extern_methods!(
84        #[unsafe(method(layoutManager))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn layoutManager() -> Retained<Self>;
87    );
88}
89
90/// Methods declared on superclass `NSObject`.
91impl CAConstraintLayoutManager {
92    extern_methods!(
93        #[unsafe(method(init))]
94        #[unsafe(method_family = init)]
95        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
96
97        #[unsafe(method(new))]
98        #[unsafe(method_family = new)]
99        pub unsafe fn new() -> Retained<Self>;
100    );
101}
102
103extern_class!(
104    /// The class representing a single layout constraint. *
105    ///
106    /// See also [Apple's documentation](https://developer.apple.com/documentation/quartzcore/caconstraint?language=objc)
107    #[unsafe(super(NSObject))]
108    #[derive(Debug, PartialEq, Eq, Hash)]
109    pub struct CAConstraint;
110);
111
112extern_conformance!(
113    unsafe impl NSCoding for CAConstraint {}
114);
115
116extern_conformance!(
117    unsafe impl NSObjectProtocol for CAConstraint {}
118);
119
120extern_conformance!(
121    unsafe impl NSSecureCoding for CAConstraint {}
122);
123
124impl CAConstraint {
125    extern_methods!(
126        #[cfg(feature = "objc2-core-foundation")]
127        #[unsafe(method(constraintWithAttribute:relativeTo:attribute:scale:offset:))]
128        #[unsafe(method_family = none)]
129        pub unsafe fn constraintWithAttribute_relativeTo_attribute_scale_offset(
130            attr: CAConstraintAttribute,
131            src_id: &NSString,
132            src_attr: CAConstraintAttribute,
133            m: CGFloat,
134            c: CGFloat,
135        ) -> Retained<Self>;
136
137        #[cfg(feature = "objc2-core-foundation")]
138        #[unsafe(method(constraintWithAttribute:relativeTo:attribute:offset:))]
139        #[unsafe(method_family = none)]
140        pub unsafe fn constraintWithAttribute_relativeTo_attribute_offset(
141            attr: CAConstraintAttribute,
142            src_id: &NSString,
143            src_attr: CAConstraintAttribute,
144            c: CGFloat,
145        ) -> Retained<Self>;
146
147        #[unsafe(method(constraintWithAttribute:relativeTo:attribute:))]
148        #[unsafe(method_family = none)]
149        pub unsafe fn constraintWithAttribute_relativeTo_attribute(
150            attr: CAConstraintAttribute,
151            src_id: &NSString,
152            src_attr: CAConstraintAttribute,
153        ) -> Retained<Self>;
154
155        #[cfg(feature = "objc2-core-foundation")]
156        #[unsafe(method(initWithAttribute:relativeTo:attribute:scale:offset:))]
157        #[unsafe(method_family = init)]
158        pub unsafe fn initWithAttribute_relativeTo_attribute_scale_offset(
159            this: Allocated<Self>,
160            attr: CAConstraintAttribute,
161            src_id: &NSString,
162            src_attr: CAConstraintAttribute,
163            m: CGFloat,
164            c: CGFloat,
165        ) -> Retained<Self>;
166
167        #[unsafe(method(attribute))]
168        #[unsafe(method_family = none)]
169        pub unsafe fn attribute(&self) -> CAConstraintAttribute;
170
171        #[unsafe(method(sourceName))]
172        #[unsafe(method_family = none)]
173        pub unsafe fn sourceName(&self) -> Retained<NSString>;
174
175        #[unsafe(method(sourceAttribute))]
176        #[unsafe(method_family = none)]
177        pub unsafe fn sourceAttribute(&self) -> CAConstraintAttribute;
178
179        #[cfg(feature = "objc2-core-foundation")]
180        #[unsafe(method(scale))]
181        #[unsafe(method_family = none)]
182        pub unsafe fn scale(&self) -> CGFloat;
183
184        #[cfg(feature = "objc2-core-foundation")]
185        #[unsafe(method(offset))]
186        #[unsafe(method_family = none)]
187        pub unsafe fn offset(&self) -> CGFloat;
188    );
189}
190
191/// Methods declared on superclass `NSObject`.
192impl CAConstraint {
193    extern_methods!(
194        #[unsafe(method(init))]
195        #[unsafe(method_family = init)]
196        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
197
198        #[unsafe(method(new))]
199        #[unsafe(method_family = new)]
200        pub unsafe fn new() -> Retained<Self>;
201    );
202}