icrate/generated/AppKit/
NSLayoutConstraint.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use crate::common::*;
4use crate::AppKit::*;
5use crate::CoreData::*;
6use crate::Foundation::*;
7
8typed_extensible_enum!(
9    pub type NSLayoutPriority = c_float;
10);
11
12extern_static!(NSLayoutPriorityRequired: NSLayoutPriority = 1000);
13
14extern_static!(NSLayoutPriorityDefaultHigh: NSLayoutPriority = 750);
15
16extern_static!(NSLayoutPriorityDragThatCanResizeWindow: NSLayoutPriority = 510);
17
18extern_static!(NSLayoutPriorityWindowSizeStayPut: NSLayoutPriority = 500);
19
20extern_static!(NSLayoutPriorityDragThatCannotResizeWindow: NSLayoutPriority = 490);
21
22extern_static!(NSLayoutPriorityDefaultLow: NSLayoutPriority = 250);
23
24extern_static!(NSLayoutPriorityFittingSizeCompression: NSLayoutPriority = 50);
25
26ns_enum!(
27    #[underlying(NSInteger)]
28    pub enum NSLayoutConstraintOrientation {
29        NSLayoutConstraintOrientationHorizontal = 0,
30        NSLayoutConstraintOrientationVertical = 1,
31    }
32);
33
34ns_enum!(
35    #[underlying(NSInteger)]
36    pub enum NSLayoutRelation {
37        NSLayoutRelationLessThanOrEqual = -1,
38        NSLayoutRelationEqual = 0,
39        NSLayoutRelationGreaterThanOrEqual = 1,
40    }
41);
42
43ns_enum!(
44    #[underlying(NSInteger)]
45    pub enum NSLayoutAttribute {
46        NSLayoutAttributeLeft = 1,
47        NSLayoutAttributeRight = 2,
48        NSLayoutAttributeTop = 3,
49        NSLayoutAttributeBottom = 4,
50        NSLayoutAttributeLeading = 5,
51        NSLayoutAttributeTrailing = 6,
52        NSLayoutAttributeWidth = 7,
53        NSLayoutAttributeHeight = 8,
54        NSLayoutAttributeCenterX = 9,
55        NSLayoutAttributeCenterY = 10,
56        NSLayoutAttributeLastBaseline = 11,
57        NSLayoutAttributeBaseline = NSLayoutAttributeLastBaseline,
58        NSLayoutAttributeFirstBaseline = 12,
59        NSLayoutAttributeNotAnAttribute = 0,
60    }
61);
62
63ns_options!(
64    #[underlying(NSUInteger)]
65    pub enum NSLayoutFormatOptions {
66        NSLayoutFormatAlignAllLeft = 1 << NSLayoutAttributeLeft,
67        NSLayoutFormatAlignAllRight = 1 << NSLayoutAttributeRight,
68        NSLayoutFormatAlignAllTop = 1 << NSLayoutAttributeTop,
69        NSLayoutFormatAlignAllBottom = 1 << NSLayoutAttributeBottom,
70        NSLayoutFormatAlignAllLeading = 1 << NSLayoutAttributeLeading,
71        NSLayoutFormatAlignAllTrailing = 1 << NSLayoutAttributeTrailing,
72        NSLayoutFormatAlignAllCenterX = 1 << NSLayoutAttributeCenterX,
73        NSLayoutFormatAlignAllCenterY = 1 << NSLayoutAttributeCenterY,
74        NSLayoutFormatAlignAllLastBaseline = 1 << NSLayoutAttributeLastBaseline,
75        NSLayoutFormatAlignAllFirstBaseline = 1 << NSLayoutAttributeFirstBaseline,
76        NSLayoutFormatAlignAllBaseline = NSLayoutFormatAlignAllLastBaseline,
77        NSLayoutFormatAlignmentMask = 0xFFFF,
78        NSLayoutFormatDirectionLeadingToTrailing = 0 << 16,
79        NSLayoutFormatDirectionLeftToRight = 1 << 16,
80        NSLayoutFormatDirectionRightToLeft = 2 << 16,
81        NSLayoutFormatDirectionMask = 0x3 << 16,
82    }
83);
84
85extern_class!(
86    #[derive(Debug, PartialEq, Eq, Hash)]
87    #[cfg(feature = "AppKit_NSLayoutConstraint")]
88    pub struct NSLayoutConstraint;
89
90    #[cfg(feature = "AppKit_NSLayoutConstraint")]
91    unsafe impl ClassType for NSLayoutConstraint {
92        type Super = NSObject;
93        type Mutability = InteriorMutable;
94    }
95);
96
97#[cfg(feature = "AppKit_NSLayoutConstraint")]
98unsafe impl NSObjectProtocol for NSLayoutConstraint {}
99
100extern_methods!(
101    #[cfg(feature = "AppKit_NSLayoutConstraint")]
102    unsafe impl NSLayoutConstraint {
103        #[cfg(all(
104            feature = "Foundation_NSArray",
105            feature = "Foundation_NSDictionary",
106            feature = "Foundation_NSString"
107        ))]
108        #[method_id(@__retain_semantics Other constraintsWithVisualFormat:options:metrics:views:)]
109        pub unsafe fn constraintsWithVisualFormat_options_metrics_views(
110            format: &NSString,
111            opts: NSLayoutFormatOptions,
112            metrics: Option<&NSDictionary<NSString, AnyObject>>,
113            views: &NSDictionary<NSString, AnyObject>,
114        ) -> Id<NSArray<NSLayoutConstraint>>;
115
116        #[method_id(@__retain_semantics Other constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:)]
117        pub unsafe fn constraintWithItem_attribute_relatedBy_toItem_attribute_multiplier_constant(
118            view1: &AnyObject,
119            attr1: NSLayoutAttribute,
120            relation: NSLayoutRelation,
121            view2: Option<&AnyObject>,
122            attr2: NSLayoutAttribute,
123            multiplier: CGFloat,
124            c: CGFloat,
125        ) -> Id<Self>;
126
127        #[method(priority)]
128        pub unsafe fn priority(&self) -> NSLayoutPriority;
129
130        #[method(setPriority:)]
131        pub unsafe fn setPriority(&self, priority: NSLayoutPriority);
132
133        #[method(shouldBeArchived)]
134        pub unsafe fn shouldBeArchived(&self) -> bool;
135
136        #[method(setShouldBeArchived:)]
137        pub unsafe fn setShouldBeArchived(&self, should_be_archived: bool);
138
139        #[method_id(@__retain_semantics Other firstItem)]
140        pub unsafe fn firstItem(&self) -> Option<Id<AnyObject>>;
141
142        #[method_id(@__retain_semantics Other secondItem)]
143        pub unsafe fn secondItem(&self) -> Option<Id<AnyObject>>;
144
145        #[method(firstAttribute)]
146        pub unsafe fn firstAttribute(&self) -> NSLayoutAttribute;
147
148        #[method(secondAttribute)]
149        pub unsafe fn secondAttribute(&self) -> NSLayoutAttribute;
150
151        #[cfg(feature = "AppKit_NSLayoutAnchor")]
152        #[method_id(@__retain_semantics Other firstAnchor)]
153        pub unsafe fn firstAnchor(&self) -> Id<NSLayoutAnchor>;
154
155        #[cfg(feature = "AppKit_NSLayoutAnchor")]
156        #[method_id(@__retain_semantics Other secondAnchor)]
157        pub unsafe fn secondAnchor(&self) -> Option<Id<NSLayoutAnchor>>;
158
159        #[method(relation)]
160        pub unsafe fn relation(&self) -> NSLayoutRelation;
161
162        #[method(multiplier)]
163        pub unsafe fn multiplier(&self) -> CGFloat;
164
165        #[method(constant)]
166        pub unsafe fn constant(&self) -> CGFloat;
167
168        #[method(setConstant:)]
169        pub unsafe fn setConstant(&self, constant: CGFloat);
170
171        #[method(isActive)]
172        pub unsafe fn isActive(&self) -> bool;
173
174        #[method(setActive:)]
175        pub unsafe fn setActive(&self, active: bool);
176
177        #[cfg(feature = "Foundation_NSArray")]
178        #[method(activateConstraints:)]
179        pub unsafe fn activateConstraints(constraints: &NSArray<NSLayoutConstraint>);
180
181        #[cfg(feature = "Foundation_NSArray")]
182        #[method(deactivateConstraints:)]
183        pub unsafe fn deactivateConstraints(constraints: &NSArray<NSLayoutConstraint>);
184    }
185);
186
187extern_methods!(
188    /// Methods declared on superclass `NSObject`
189    #[cfg(feature = "AppKit_NSLayoutConstraint")]
190    unsafe impl NSLayoutConstraint {
191        #[method_id(@__retain_semantics Init init)]
192        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
193
194        #[method_id(@__retain_semantics New new)]
195        pub unsafe fn new() -> Id<Self>;
196    }
197);
198
199extern_methods!(
200    /// NSIdentifier
201    #[cfg(feature = "AppKit_NSLayoutConstraint")]
202    unsafe impl NSLayoutConstraint {
203        #[cfg(feature = "Foundation_NSString")]
204        #[method_id(@__retain_semantics Other identifier)]
205        pub unsafe fn identifier(&self) -> Option<Id<NSString>>;
206
207        #[cfg(feature = "Foundation_NSString")]
208        #[method(setIdentifier:)]
209        pub unsafe fn setIdentifier(&self, identifier: Option<&NSString>);
210    }
211);
212
213extern_methods!(
214    #[cfg(feature = "AppKit_NSLayoutConstraint")]
215    unsafe impl NSLayoutConstraint {}
216);
217
218#[cfg(feature = "AppKit_NSLayoutConstraint")]
219unsafe impl NSAnimatablePropertyContainer for NSLayoutConstraint {}
220
221extern_methods!(
222    /// NSConstraintBasedLayoutInstallingConstraints
223    #[cfg(feature = "AppKit_NSView")]
224    unsafe impl NSView {
225        #[cfg(feature = "AppKit_NSLayoutXAxisAnchor")]
226        #[method_id(@__retain_semantics Other leadingAnchor)]
227        pub unsafe fn leadingAnchor(&self) -> Id<NSLayoutXAxisAnchor>;
228
229        #[cfg(feature = "AppKit_NSLayoutXAxisAnchor")]
230        #[method_id(@__retain_semantics Other trailingAnchor)]
231        pub unsafe fn trailingAnchor(&self) -> Id<NSLayoutXAxisAnchor>;
232
233        #[cfg(feature = "AppKit_NSLayoutXAxisAnchor")]
234        #[method_id(@__retain_semantics Other leftAnchor)]
235        pub unsafe fn leftAnchor(&self) -> Id<NSLayoutXAxisAnchor>;
236
237        #[cfg(feature = "AppKit_NSLayoutXAxisAnchor")]
238        #[method_id(@__retain_semantics Other rightAnchor)]
239        pub unsafe fn rightAnchor(&self) -> Id<NSLayoutXAxisAnchor>;
240
241        #[cfg(feature = "AppKit_NSLayoutYAxisAnchor")]
242        #[method_id(@__retain_semantics Other topAnchor)]
243        pub unsafe fn topAnchor(&self) -> Id<NSLayoutYAxisAnchor>;
244
245        #[cfg(feature = "AppKit_NSLayoutYAxisAnchor")]
246        #[method_id(@__retain_semantics Other bottomAnchor)]
247        pub unsafe fn bottomAnchor(&self) -> Id<NSLayoutYAxisAnchor>;
248
249        #[cfg(feature = "AppKit_NSLayoutDimension")]
250        #[method_id(@__retain_semantics Other widthAnchor)]
251        pub unsafe fn widthAnchor(&self) -> Id<NSLayoutDimension>;
252
253        #[cfg(feature = "AppKit_NSLayoutDimension")]
254        #[method_id(@__retain_semantics Other heightAnchor)]
255        pub unsafe fn heightAnchor(&self) -> Id<NSLayoutDimension>;
256
257        #[cfg(feature = "AppKit_NSLayoutXAxisAnchor")]
258        #[method_id(@__retain_semantics Other centerXAnchor)]
259        pub unsafe fn centerXAnchor(&self) -> Id<NSLayoutXAxisAnchor>;
260
261        #[cfg(feature = "AppKit_NSLayoutYAxisAnchor")]
262        #[method_id(@__retain_semantics Other centerYAnchor)]
263        pub unsafe fn centerYAnchor(&self) -> Id<NSLayoutYAxisAnchor>;
264
265        #[cfg(feature = "AppKit_NSLayoutYAxisAnchor")]
266        #[method_id(@__retain_semantics Other firstBaselineAnchor)]
267        pub unsafe fn firstBaselineAnchor(&self) -> Id<NSLayoutYAxisAnchor>;
268
269        #[cfg(feature = "AppKit_NSLayoutYAxisAnchor")]
270        #[method_id(@__retain_semantics Other lastBaselineAnchor)]
271        pub unsafe fn lastBaselineAnchor(&self) -> Id<NSLayoutYAxisAnchor>;
272
273        #[cfg(all(feature = "AppKit_NSLayoutConstraint", feature = "Foundation_NSArray"))]
274        #[method_id(@__retain_semantics Other constraints)]
275        pub unsafe fn constraints(&self) -> Id<NSArray<NSLayoutConstraint>>;
276
277        #[cfg(feature = "AppKit_NSLayoutConstraint")]
278        #[method(addConstraint:)]
279        pub unsafe fn addConstraint(&self, constraint: &NSLayoutConstraint);
280
281        #[cfg(all(feature = "AppKit_NSLayoutConstraint", feature = "Foundation_NSArray"))]
282        #[method(addConstraints:)]
283        pub unsafe fn addConstraints(&self, constraints: &NSArray<NSLayoutConstraint>);
284
285        #[cfg(feature = "AppKit_NSLayoutConstraint")]
286        #[method(removeConstraint:)]
287        pub unsafe fn removeConstraint(&self, constraint: &NSLayoutConstraint);
288
289        #[cfg(all(feature = "AppKit_NSLayoutConstraint", feature = "Foundation_NSArray"))]
290        #[method(removeConstraints:)]
291        pub unsafe fn removeConstraints(&self, constraints: &NSArray<NSLayoutConstraint>);
292    }
293);
294
295extern_methods!(
296    /// NSConstraintBasedLayoutCoreMethods
297    #[cfg(feature = "AppKit_NSWindow")]
298    unsafe impl NSWindow {
299        #[method(updateConstraintsIfNeeded)]
300        pub unsafe fn updateConstraintsIfNeeded(&self);
301
302        #[method(layoutIfNeeded)]
303        pub unsafe fn layoutIfNeeded(&self);
304    }
305);
306
307extern_methods!(
308    /// NSConstraintBasedLayoutCoreMethods
309    #[cfg(feature = "AppKit_NSView")]
310    unsafe impl NSView {
311        #[method(updateConstraintsForSubtreeIfNeeded)]
312        pub unsafe fn updateConstraintsForSubtreeIfNeeded(&self);
313
314        #[method(updateConstraints)]
315        pub unsafe fn updateConstraints(&self);
316
317        #[method(needsUpdateConstraints)]
318        pub unsafe fn needsUpdateConstraints(&self) -> bool;
319
320        #[method(setNeedsUpdateConstraints:)]
321        pub unsafe fn setNeedsUpdateConstraints(&self, needs_update_constraints: bool);
322    }
323);
324
325extern_methods!(
326    /// NSConstraintBasedCompatibility
327    #[cfg(feature = "AppKit_NSView")]
328    unsafe impl NSView {
329        #[method(translatesAutoresizingMaskIntoConstraints)]
330        pub unsafe fn translatesAutoresizingMaskIntoConstraints(&self) -> bool;
331
332        #[method(setTranslatesAutoresizingMaskIntoConstraints:)]
333        pub unsafe fn setTranslatesAutoresizingMaskIntoConstraints(
334            &self,
335            translates_autoresizing_mask_into_constraints: bool,
336        );
337
338        #[method(requiresConstraintBasedLayout)]
339        pub unsafe fn requiresConstraintBasedLayout(mtm: MainThreadMarker) -> bool;
340    }
341);
342
343extern_static!(NSViewNoInstrinsicMetric: CGFloat);
344
345extern_static!(NSViewNoIntrinsicMetric: CGFloat);
346
347extern_methods!(
348    /// NSConstraintBasedLayoutLayering
349    #[cfg(feature = "AppKit_NSView")]
350    unsafe impl NSView {
351        #[method(alignmentRectForFrame:)]
352        pub unsafe fn alignmentRectForFrame(&self, frame: NSRect) -> NSRect;
353
354        #[method(frameForAlignmentRect:)]
355        pub unsafe fn frameForAlignmentRect(&self, alignment_rect: NSRect) -> NSRect;
356
357        #[method(alignmentRectInsets)]
358        pub unsafe fn alignmentRectInsets(&self) -> NSEdgeInsets;
359
360        #[method(firstBaselineOffsetFromTop)]
361        pub unsafe fn firstBaselineOffsetFromTop(&self) -> CGFloat;
362
363        #[method(lastBaselineOffsetFromBottom)]
364        pub unsafe fn lastBaselineOffsetFromBottom(&self) -> CGFloat;
365
366        #[method(baselineOffsetFromBottom)]
367        pub unsafe fn baselineOffsetFromBottom(&self) -> CGFloat;
368
369        #[method(intrinsicContentSize)]
370        pub unsafe fn intrinsicContentSize(&self) -> NSSize;
371
372        #[method(invalidateIntrinsicContentSize)]
373        pub unsafe fn invalidateIntrinsicContentSize(&self);
374
375        #[method(contentHuggingPriorityForOrientation:)]
376        pub unsafe fn contentHuggingPriorityForOrientation(
377            &self,
378            orientation: NSLayoutConstraintOrientation,
379        ) -> NSLayoutPriority;
380
381        #[method(setContentHuggingPriority:forOrientation:)]
382        pub unsafe fn setContentHuggingPriority_forOrientation(
383            &self,
384            priority: NSLayoutPriority,
385            orientation: NSLayoutConstraintOrientation,
386        );
387
388        #[method(contentCompressionResistancePriorityForOrientation:)]
389        pub unsafe fn contentCompressionResistancePriorityForOrientation(
390            &self,
391            orientation: NSLayoutConstraintOrientation,
392        ) -> NSLayoutPriority;
393
394        #[method(setContentCompressionResistancePriority:forOrientation:)]
395        pub unsafe fn setContentCompressionResistancePriority_forOrientation(
396            &self,
397            priority: NSLayoutPriority,
398            orientation: NSLayoutConstraintOrientation,
399        );
400
401        #[method(isHorizontalContentSizeConstraintActive)]
402        pub unsafe fn isHorizontalContentSizeConstraintActive(&self) -> bool;
403
404        #[method(setHorizontalContentSizeConstraintActive:)]
405        pub unsafe fn setHorizontalContentSizeConstraintActive(
406            &self,
407            horizontal_content_size_constraint_active: bool,
408        );
409
410        #[method(isVerticalContentSizeConstraintActive)]
411        pub unsafe fn isVerticalContentSizeConstraintActive(&self) -> bool;
412
413        #[method(setVerticalContentSizeConstraintActive:)]
414        pub unsafe fn setVerticalContentSizeConstraintActive(
415            &self,
416            vertical_content_size_constraint_active: bool,
417        );
418    }
419);
420
421extern_methods!(
422    /// NSConstraintBasedLayoutLayering
423    #[cfg(feature = "AppKit_NSControl")]
424    unsafe impl NSControl {
425        #[cfg(feature = "AppKit_NSCell")]
426        #[method(invalidateIntrinsicContentSizeForCell:)]
427        pub unsafe fn invalidateIntrinsicContentSizeForCell(&self, cell: &NSCell);
428    }
429);
430
431extern_methods!(
432    /// NSConstraintBasedLayoutAnchoring
433    #[cfg(feature = "AppKit_NSWindow")]
434    unsafe impl NSWindow {
435        #[method(anchorAttributeForOrientation:)]
436        pub unsafe fn anchorAttributeForOrientation(
437            &self,
438            orientation: NSLayoutConstraintOrientation,
439        ) -> NSLayoutAttribute;
440
441        #[method(setAnchorAttribute:forOrientation:)]
442        pub unsafe fn setAnchorAttribute_forOrientation(
443            &self,
444            attr: NSLayoutAttribute,
445            orientation: NSLayoutConstraintOrientation,
446        );
447    }
448);
449
450extern_methods!(
451    /// NSConstraintBasedLayoutFittingSize
452    #[cfg(feature = "AppKit_NSView")]
453    unsafe impl NSView {
454        #[method(fittingSize)]
455        pub unsafe fn fittingSize(&self) -> NSSize;
456    }
457);
458
459extern_methods!(
460    /// NSConstraintBasedLayoutDebugging
461    #[cfg(feature = "AppKit_NSView")]
462    unsafe impl NSView {
463        #[cfg(all(feature = "AppKit_NSLayoutConstraint", feature = "Foundation_NSArray"))]
464        #[method_id(@__retain_semantics Other constraintsAffectingLayoutForOrientation:)]
465        pub unsafe fn constraintsAffectingLayoutForOrientation(
466            &self,
467            orientation: NSLayoutConstraintOrientation,
468        ) -> Id<NSArray<NSLayoutConstraint>>;
469
470        #[method(hasAmbiguousLayout)]
471        pub unsafe fn hasAmbiguousLayout(&self) -> bool;
472
473        #[method(exerciseAmbiguityInLayout)]
474        pub unsafe fn exerciseAmbiguityInLayout(&self);
475    }
476);
477
478extern_methods!(
479    /// NSConstraintBasedLayoutDebugging
480    #[cfg(feature = "AppKit_NSWindow")]
481    unsafe impl NSWindow {
482        #[cfg(all(feature = "AppKit_NSLayoutConstraint", feature = "Foundation_NSArray"))]
483        #[method(visualizeConstraints:)]
484        pub unsafe fn visualizeConstraints(
485            &self,
486            constraints: Option<&NSArray<NSLayoutConstraint>>,
487        );
488    }
489);