icrate/generated/AppKit/
NSCollectionViewLayout.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
8ns_enum!(
9    #[underlying(NSInteger)]
10    pub enum NSCollectionElementCategory {
11        NSCollectionElementCategoryItem = 0,
12        NSCollectionElementCategorySupplementaryView = 1,
13        NSCollectionElementCategoryDecorationView = 2,
14        NSCollectionElementCategoryInterItemGap = 3,
15    }
16);
17
18pub type NSCollectionViewDecorationElementKind = NSString;
19
20extern_static!(NSCollectionElementKindInterItemGapIndicator: &'static NSCollectionViewSupplementaryElementKind);
21
22extern_class!(
23    #[derive(Debug, PartialEq, Eq, Hash)]
24    #[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
25    pub struct NSCollectionViewLayoutAttributes;
26
27    #[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
28    unsafe impl ClassType for NSCollectionViewLayoutAttributes {
29        type Super = NSObject;
30        type Mutability = InteriorMutable;
31    }
32);
33
34#[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
35unsafe impl NSCopying for NSCollectionViewLayoutAttributes {}
36
37#[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
38unsafe impl NSObjectProtocol for NSCollectionViewLayoutAttributes {}
39
40extern_methods!(
41    #[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
42    unsafe impl NSCollectionViewLayoutAttributes {
43        #[method(frame)]
44        pub unsafe fn frame(&self) -> NSRect;
45
46        #[method(setFrame:)]
47        pub unsafe fn setFrame(&self, frame: NSRect);
48
49        #[method(size)]
50        pub unsafe fn size(&self) -> NSSize;
51
52        #[method(setSize:)]
53        pub unsafe fn setSize(&self, size: NSSize);
54
55        #[method(alpha)]
56        pub unsafe fn alpha(&self) -> CGFloat;
57
58        #[method(setAlpha:)]
59        pub unsafe fn setAlpha(&self, alpha: CGFloat);
60
61        #[method(zIndex)]
62        pub unsafe fn zIndex(&self) -> NSInteger;
63
64        #[method(setZIndex:)]
65        pub unsafe fn setZIndex(&self, z_index: NSInteger);
66
67        #[method(isHidden)]
68        pub unsafe fn isHidden(&self) -> bool;
69
70        #[method(setHidden:)]
71        pub unsafe fn setHidden(&self, hidden: bool);
72
73        #[cfg(feature = "Foundation_NSIndexPath")]
74        #[method_id(@__retain_semantics Other indexPath)]
75        pub unsafe fn indexPath(&self) -> Option<Id<NSIndexPath>>;
76
77        #[cfg(feature = "Foundation_NSIndexPath")]
78        #[method(setIndexPath:)]
79        pub unsafe fn setIndexPath(&self, index_path: Option<&NSIndexPath>);
80
81        #[method(representedElementCategory)]
82        pub unsafe fn representedElementCategory(&self) -> NSCollectionElementCategory;
83
84        #[cfg(feature = "Foundation_NSString")]
85        #[method_id(@__retain_semantics Other representedElementKind)]
86        pub unsafe fn representedElementKind(&self) -> Option<Id<NSString>>;
87
88        #[cfg(feature = "Foundation_NSIndexPath")]
89        #[method_id(@__retain_semantics Other layoutAttributesForItemWithIndexPath:)]
90        pub unsafe fn layoutAttributesForItemWithIndexPath(index_path: &NSIndexPath) -> Id<Self>;
91
92        #[cfg(feature = "Foundation_NSIndexPath")]
93        #[method_id(@__retain_semantics Other layoutAttributesForInterItemGapBeforeIndexPath:)]
94        pub unsafe fn layoutAttributesForInterItemGapBeforeIndexPath(
95            index_path: &NSIndexPath,
96        ) -> Id<Self>;
97
98        #[cfg(feature = "Foundation_NSIndexPath")]
99        #[method_id(@__retain_semantics Other layoutAttributesForSupplementaryViewOfKind:withIndexPath:)]
100        pub unsafe fn layoutAttributesForSupplementaryViewOfKind_withIndexPath(
101            element_kind: &NSCollectionViewSupplementaryElementKind,
102            index_path: &NSIndexPath,
103        ) -> Id<Self>;
104
105        #[cfg(feature = "Foundation_NSIndexPath")]
106        #[method_id(@__retain_semantics Other layoutAttributesForDecorationViewOfKind:withIndexPath:)]
107        pub unsafe fn layoutAttributesForDecorationViewOfKind_withIndexPath(
108            decoration_view_kind: &NSCollectionViewDecorationElementKind,
109            index_path: &NSIndexPath,
110        ) -> Id<Self>;
111    }
112);
113
114extern_methods!(
115    /// Methods declared on superclass `NSObject`
116    #[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
117    unsafe impl NSCollectionViewLayoutAttributes {
118        #[method_id(@__retain_semantics Init init)]
119        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
120
121        #[method_id(@__retain_semantics New new)]
122        pub unsafe fn new() -> Id<Self>;
123    }
124);
125
126ns_enum!(
127    #[underlying(NSInteger)]
128    pub enum NSCollectionUpdateAction {
129        NSCollectionUpdateActionInsert = 0,
130        NSCollectionUpdateActionDelete = 1,
131        NSCollectionUpdateActionReload = 2,
132        NSCollectionUpdateActionMove = 3,
133        NSCollectionUpdateActionNone = 4,
134    }
135);
136
137extern_class!(
138    #[derive(Debug, PartialEq, Eq, Hash)]
139    #[cfg(feature = "AppKit_NSCollectionViewUpdateItem")]
140    pub struct NSCollectionViewUpdateItem;
141
142    #[cfg(feature = "AppKit_NSCollectionViewUpdateItem")]
143    unsafe impl ClassType for NSCollectionViewUpdateItem {
144        type Super = NSObject;
145        type Mutability = InteriorMutable;
146    }
147);
148
149#[cfg(feature = "AppKit_NSCollectionViewUpdateItem")]
150unsafe impl NSObjectProtocol for NSCollectionViewUpdateItem {}
151
152extern_methods!(
153    #[cfg(feature = "AppKit_NSCollectionViewUpdateItem")]
154    unsafe impl NSCollectionViewUpdateItem {
155        #[cfg(feature = "Foundation_NSIndexPath")]
156        #[method_id(@__retain_semantics Other indexPathBeforeUpdate)]
157        pub unsafe fn indexPathBeforeUpdate(&self) -> Option<Id<NSIndexPath>>;
158
159        #[cfg(feature = "Foundation_NSIndexPath")]
160        #[method_id(@__retain_semantics Other indexPathAfterUpdate)]
161        pub unsafe fn indexPathAfterUpdate(&self) -> Option<Id<NSIndexPath>>;
162
163        #[method(updateAction)]
164        pub unsafe fn updateAction(&self) -> NSCollectionUpdateAction;
165    }
166);
167
168extern_methods!(
169    /// Methods declared on superclass `NSObject`
170    #[cfg(feature = "AppKit_NSCollectionViewUpdateItem")]
171    unsafe impl NSCollectionViewUpdateItem {
172        #[method_id(@__retain_semantics Init init)]
173        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
174
175        #[method_id(@__retain_semantics New new)]
176        pub unsafe fn new() -> Id<Self>;
177    }
178);
179
180extern_class!(
181    #[derive(Debug, PartialEq, Eq, Hash)]
182    #[cfg(feature = "AppKit_NSCollectionViewLayoutInvalidationContext")]
183    pub struct NSCollectionViewLayoutInvalidationContext;
184
185    #[cfg(feature = "AppKit_NSCollectionViewLayoutInvalidationContext")]
186    unsafe impl ClassType for NSCollectionViewLayoutInvalidationContext {
187        type Super = NSObject;
188        type Mutability = InteriorMutable;
189    }
190);
191
192#[cfg(feature = "AppKit_NSCollectionViewLayoutInvalidationContext")]
193unsafe impl NSObjectProtocol for NSCollectionViewLayoutInvalidationContext {}
194
195extern_methods!(
196    #[cfg(feature = "AppKit_NSCollectionViewLayoutInvalidationContext")]
197    unsafe impl NSCollectionViewLayoutInvalidationContext {
198        #[method(invalidateEverything)]
199        pub unsafe fn invalidateEverything(&self) -> bool;
200
201        #[method(invalidateDataSourceCounts)]
202        pub unsafe fn invalidateDataSourceCounts(&self) -> bool;
203
204        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
205        #[method(invalidateItemsAtIndexPaths:)]
206        pub unsafe fn invalidateItemsAtIndexPaths(&self, index_paths: &NSSet<NSIndexPath>);
207
208        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
209        #[method(invalidateSupplementaryElementsOfKind:atIndexPaths:)]
210        pub unsafe fn invalidateSupplementaryElementsOfKind_atIndexPaths(
211            &self,
212            element_kind: &NSCollectionViewSupplementaryElementKind,
213            index_paths: &NSSet<NSIndexPath>,
214        );
215
216        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
217        #[method(invalidateDecorationElementsOfKind:atIndexPaths:)]
218        pub unsafe fn invalidateDecorationElementsOfKind_atIndexPaths(
219            &self,
220            element_kind: &NSCollectionViewDecorationElementKind,
221            index_paths: &NSSet<NSIndexPath>,
222        );
223
224        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
225        #[method_id(@__retain_semantics Other invalidatedItemIndexPaths)]
226        pub unsafe fn invalidatedItemIndexPaths(&self) -> Option<Id<NSSet<NSIndexPath>>>;
227
228        #[cfg(all(
229            feature = "Foundation_NSDictionary",
230            feature = "Foundation_NSIndexPath",
231            feature = "Foundation_NSSet"
232        ))]
233        #[method_id(@__retain_semantics Other invalidatedSupplementaryIndexPaths)]
234        pub unsafe fn invalidatedSupplementaryIndexPaths(
235            &self,
236        ) -> Option<Id<NSDictionary<NSCollectionViewSupplementaryElementKind, NSSet<NSIndexPath>>>>;
237
238        #[cfg(all(
239            feature = "Foundation_NSDictionary",
240            feature = "Foundation_NSIndexPath",
241            feature = "Foundation_NSSet"
242        ))]
243        #[method_id(@__retain_semantics Other invalidatedDecorationIndexPaths)]
244        pub unsafe fn invalidatedDecorationIndexPaths(
245            &self,
246        ) -> Option<Id<NSDictionary<NSCollectionViewDecorationElementKind, NSSet<NSIndexPath>>>>;
247
248        #[method(contentOffsetAdjustment)]
249        pub unsafe fn contentOffsetAdjustment(&self) -> NSPoint;
250
251        #[method(setContentOffsetAdjustment:)]
252        pub unsafe fn setContentOffsetAdjustment(&self, content_offset_adjustment: NSPoint);
253
254        #[method(contentSizeAdjustment)]
255        pub unsafe fn contentSizeAdjustment(&self) -> NSSize;
256
257        #[method(setContentSizeAdjustment:)]
258        pub unsafe fn setContentSizeAdjustment(&self, content_size_adjustment: NSSize);
259    }
260);
261
262extern_methods!(
263    /// Methods declared on superclass `NSObject`
264    #[cfg(feature = "AppKit_NSCollectionViewLayoutInvalidationContext")]
265    unsafe impl NSCollectionViewLayoutInvalidationContext {
266        #[method_id(@__retain_semantics Init init)]
267        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
268
269        #[method_id(@__retain_semantics New new)]
270        pub unsafe fn new() -> Id<Self>;
271    }
272);
273
274extern_class!(
275    #[derive(Debug, PartialEq, Eq, Hash)]
276    #[cfg(feature = "AppKit_NSCollectionViewLayout")]
277    pub struct NSCollectionViewLayout;
278
279    #[cfg(feature = "AppKit_NSCollectionViewLayout")]
280    unsafe impl ClassType for NSCollectionViewLayout {
281        type Super = NSObject;
282        type Mutability = InteriorMutable;
283    }
284);
285
286#[cfg(feature = "AppKit_NSCollectionViewLayout")]
287unsafe impl NSCoding for NSCollectionViewLayout {}
288
289#[cfg(feature = "AppKit_NSCollectionViewLayout")]
290unsafe impl NSObjectProtocol for NSCollectionViewLayout {}
291
292extern_methods!(
293    #[cfg(feature = "AppKit_NSCollectionViewLayout")]
294    unsafe impl NSCollectionViewLayout {
295        #[cfg(feature = "AppKit_NSCollectionView")]
296        #[method_id(@__retain_semantics Other collectionView)]
297        pub unsafe fn collectionView(&self, mtm: MainThreadMarker) -> Option<Id<NSCollectionView>>;
298
299        #[method(invalidateLayout)]
300        pub unsafe fn invalidateLayout(&self);
301
302        #[cfg(feature = "AppKit_NSCollectionViewLayoutInvalidationContext")]
303        #[method(invalidateLayoutWithContext:)]
304        pub unsafe fn invalidateLayoutWithContext(
305            &self,
306            context: &NSCollectionViewLayoutInvalidationContext,
307        );
308
309        #[method(registerClass:forDecorationViewOfKind:)]
310        pub unsafe fn registerClass_forDecorationViewOfKind(
311            &self,
312            view_class: Option<&AnyClass>,
313            element_kind: &NSCollectionViewDecorationElementKind,
314        );
315
316        #[cfg(feature = "AppKit_NSNib")]
317        #[method(registerNib:forDecorationViewOfKind:)]
318        pub unsafe fn registerNib_forDecorationViewOfKind(
319            &self,
320            nib: Option<&NSNib>,
321            element_kind: &NSCollectionViewDecorationElementKind,
322        );
323    }
324);
325
326extern_methods!(
327    /// Methods declared on superclass `NSObject`
328    #[cfg(feature = "AppKit_NSCollectionViewLayout")]
329    unsafe impl NSCollectionViewLayout {
330        #[method_id(@__retain_semantics Init init)]
331        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
332
333        #[method_id(@__retain_semantics New new)]
334        pub unsafe fn new() -> Id<Self>;
335    }
336);
337
338extern_methods!(
339    /// NSSubclassingHooks
340    #[cfg(feature = "AppKit_NSCollectionViewLayout")]
341    unsafe impl NSCollectionViewLayout {
342        #[method(layoutAttributesClass)]
343        pub unsafe fn layoutAttributesClass() -> &'static AnyClass;
344
345        #[method(invalidationContextClass)]
346        pub unsafe fn invalidationContextClass() -> &'static AnyClass;
347
348        #[method(prepareLayout)]
349        pub unsafe fn prepareLayout(&self);
350
351        #[cfg(all(
352            feature = "AppKit_NSCollectionViewLayoutAttributes",
353            feature = "Foundation_NSArray"
354        ))]
355        #[method_id(@__retain_semantics Other layoutAttributesForElementsInRect:)]
356        pub unsafe fn layoutAttributesForElementsInRect(
357            &self,
358            rect: NSRect,
359        ) -> Id<NSArray<NSCollectionViewLayoutAttributes>>;
360
361        #[cfg(all(
362            feature = "AppKit_NSCollectionViewLayoutAttributes",
363            feature = "Foundation_NSIndexPath"
364        ))]
365        #[method_id(@__retain_semantics Other layoutAttributesForItemAtIndexPath:)]
366        pub unsafe fn layoutAttributesForItemAtIndexPath(
367            &self,
368            index_path: &NSIndexPath,
369        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
370
371        #[cfg(all(
372            feature = "AppKit_NSCollectionViewLayoutAttributes",
373            feature = "Foundation_NSIndexPath"
374        ))]
375        #[method_id(@__retain_semantics Other layoutAttributesForSupplementaryViewOfKind:atIndexPath:)]
376        pub unsafe fn layoutAttributesForSupplementaryViewOfKind_atIndexPath(
377            &self,
378            element_kind: &NSCollectionViewSupplementaryElementKind,
379            index_path: &NSIndexPath,
380        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
381
382        #[cfg(all(
383            feature = "AppKit_NSCollectionViewLayoutAttributes",
384            feature = "Foundation_NSIndexPath"
385        ))]
386        #[method_id(@__retain_semantics Other layoutAttributesForDecorationViewOfKind:atIndexPath:)]
387        pub unsafe fn layoutAttributesForDecorationViewOfKind_atIndexPath(
388            &self,
389            element_kind: &NSCollectionViewDecorationElementKind,
390            index_path: &NSIndexPath,
391        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
392
393        #[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
394        #[method_id(@__retain_semantics Other layoutAttributesForDropTargetAtPoint:)]
395        pub unsafe fn layoutAttributesForDropTargetAtPoint(
396            &self,
397            point_in_collection_view: NSPoint,
398        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
399
400        #[cfg(all(
401            feature = "AppKit_NSCollectionViewLayoutAttributes",
402            feature = "Foundation_NSIndexPath"
403        ))]
404        #[method_id(@__retain_semantics Other layoutAttributesForInterItemGapBeforeIndexPath:)]
405        pub unsafe fn layoutAttributesForInterItemGapBeforeIndexPath(
406            &self,
407            index_path: &NSIndexPath,
408        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
409
410        #[method(shouldInvalidateLayoutForBoundsChange:)]
411        pub unsafe fn shouldInvalidateLayoutForBoundsChange(&self, new_bounds: NSRect) -> bool;
412
413        #[cfg(feature = "AppKit_NSCollectionViewLayoutInvalidationContext")]
414        #[method_id(@__retain_semantics Other invalidationContextForBoundsChange:)]
415        pub unsafe fn invalidationContextForBoundsChange(
416            &self,
417            new_bounds: NSRect,
418        ) -> Id<NSCollectionViewLayoutInvalidationContext>;
419
420        #[cfg(feature = "AppKit_NSCollectionViewLayoutAttributes")]
421        #[method(shouldInvalidateLayoutForPreferredLayoutAttributes:withOriginalAttributes:)]
422        pub unsafe fn shouldInvalidateLayoutForPreferredLayoutAttributes_withOriginalAttributes(
423            &self,
424            preferred_attributes: &NSCollectionViewLayoutAttributes,
425            original_attributes: &NSCollectionViewLayoutAttributes,
426        ) -> bool;
427
428        #[cfg(all(
429            feature = "AppKit_NSCollectionViewLayoutAttributes",
430            feature = "AppKit_NSCollectionViewLayoutInvalidationContext"
431        ))]
432        #[method_id(@__retain_semantics Other invalidationContextForPreferredLayoutAttributes:withOriginalAttributes:)]
433        pub unsafe fn invalidationContextForPreferredLayoutAttributes_withOriginalAttributes(
434            &self,
435            preferred_attributes: &NSCollectionViewLayoutAttributes,
436            original_attributes: &NSCollectionViewLayoutAttributes,
437        ) -> Id<NSCollectionViewLayoutInvalidationContext>;
438
439        #[method(targetContentOffsetForProposedContentOffset:withScrollingVelocity:)]
440        pub unsafe fn targetContentOffsetForProposedContentOffset_withScrollingVelocity(
441            &self,
442            proposed_content_offset: NSPoint,
443            velocity: NSPoint,
444        ) -> NSPoint;
445
446        #[method(targetContentOffsetForProposedContentOffset:)]
447        pub unsafe fn targetContentOffsetForProposedContentOffset(
448            &self,
449            proposed_content_offset: NSPoint,
450        ) -> NSPoint;
451
452        #[method(collectionViewContentSize)]
453        pub unsafe fn collectionViewContentSize(&self) -> NSSize;
454    }
455);
456
457extern_methods!(
458    /// NSUpdateSupportHooks
459    #[cfg(feature = "AppKit_NSCollectionViewLayout")]
460    unsafe impl NSCollectionViewLayout {
461        #[cfg(all(
462            feature = "AppKit_NSCollectionViewUpdateItem",
463            feature = "Foundation_NSArray"
464        ))]
465        #[method(prepareForCollectionViewUpdates:)]
466        pub unsafe fn prepareForCollectionViewUpdates(
467            &self,
468            update_items: &NSArray<NSCollectionViewUpdateItem>,
469        );
470
471        #[method(finalizeCollectionViewUpdates)]
472        pub unsafe fn finalizeCollectionViewUpdates(&self);
473
474        #[method(prepareForAnimatedBoundsChange:)]
475        pub unsafe fn prepareForAnimatedBoundsChange(&self, old_bounds: NSRect);
476
477        #[method(finalizeAnimatedBoundsChange)]
478        pub unsafe fn finalizeAnimatedBoundsChange(&self);
479
480        #[method(prepareForTransitionToLayout:)]
481        pub unsafe fn prepareForTransitionToLayout(&self, new_layout: &NSCollectionViewLayout);
482
483        #[method(prepareForTransitionFromLayout:)]
484        pub unsafe fn prepareForTransitionFromLayout(&self, old_layout: &NSCollectionViewLayout);
485
486        #[method(finalizeLayoutTransition)]
487        pub unsafe fn finalizeLayoutTransition(&self);
488
489        #[cfg(all(
490            feature = "AppKit_NSCollectionViewLayoutAttributes",
491            feature = "Foundation_NSIndexPath"
492        ))]
493        #[method_id(@__retain_semantics Other initialLayoutAttributesForAppearingItemAtIndexPath:)]
494        pub unsafe fn initialLayoutAttributesForAppearingItemAtIndexPath(
495            &self,
496            item_index_path: &NSIndexPath,
497        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
498
499        #[cfg(all(
500            feature = "AppKit_NSCollectionViewLayoutAttributes",
501            feature = "Foundation_NSIndexPath"
502        ))]
503        #[method_id(@__retain_semantics Other finalLayoutAttributesForDisappearingItemAtIndexPath:)]
504        pub unsafe fn finalLayoutAttributesForDisappearingItemAtIndexPath(
505            &self,
506            item_index_path: &NSIndexPath,
507        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
508
509        #[cfg(all(
510            feature = "AppKit_NSCollectionViewLayoutAttributes",
511            feature = "Foundation_NSIndexPath"
512        ))]
513        #[method_id(@__retain_semantics Other initialLayoutAttributesForAppearingSupplementaryElementOfKind:atIndexPath:)]
514        pub unsafe fn initialLayoutAttributesForAppearingSupplementaryElementOfKind_atIndexPath(
515            &self,
516            element_kind: &NSCollectionViewSupplementaryElementKind,
517            element_index_path: &NSIndexPath,
518        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
519
520        #[cfg(all(
521            feature = "AppKit_NSCollectionViewLayoutAttributes",
522            feature = "Foundation_NSIndexPath"
523        ))]
524        #[method_id(@__retain_semantics Other finalLayoutAttributesForDisappearingSupplementaryElementOfKind:atIndexPath:)]
525        pub unsafe fn finalLayoutAttributesForDisappearingSupplementaryElementOfKind_atIndexPath(
526            &self,
527            element_kind: &NSCollectionViewSupplementaryElementKind,
528            element_index_path: &NSIndexPath,
529        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
530
531        #[cfg(all(
532            feature = "AppKit_NSCollectionViewLayoutAttributes",
533            feature = "Foundation_NSIndexPath"
534        ))]
535        #[method_id(@__retain_semantics Other initialLayoutAttributesForAppearingDecorationElementOfKind:atIndexPath:)]
536        pub unsafe fn initialLayoutAttributesForAppearingDecorationElementOfKind_atIndexPath(
537            &self,
538            element_kind: &NSCollectionViewDecorationElementKind,
539            decoration_index_path: &NSIndexPath,
540        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
541
542        #[cfg(all(
543            feature = "AppKit_NSCollectionViewLayoutAttributes",
544            feature = "Foundation_NSIndexPath"
545        ))]
546        #[method_id(@__retain_semantics Other finalLayoutAttributesForDisappearingDecorationElementOfKind:atIndexPath:)]
547        pub unsafe fn finalLayoutAttributesForDisappearingDecorationElementOfKind_atIndexPath(
548            &self,
549            element_kind: &NSCollectionViewDecorationElementKind,
550            decoration_index_path: &NSIndexPath,
551        ) -> Option<Id<NSCollectionViewLayoutAttributes>>;
552
553        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
554        #[method_id(@__retain_semantics Other indexPathsToDeleteForSupplementaryViewOfKind:)]
555        pub unsafe fn indexPathsToDeleteForSupplementaryViewOfKind(
556            &self,
557            element_kind: &NSCollectionViewSupplementaryElementKind,
558        ) -> Id<NSSet<NSIndexPath>>;
559
560        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
561        #[method_id(@__retain_semantics Other indexPathsToDeleteForDecorationViewOfKind:)]
562        pub unsafe fn indexPathsToDeleteForDecorationViewOfKind(
563            &self,
564            element_kind: &NSCollectionViewDecorationElementKind,
565        ) -> Id<NSSet<NSIndexPath>>;
566
567        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
568        #[method_id(@__retain_semantics Other indexPathsToInsertForSupplementaryViewOfKind:)]
569        pub unsafe fn indexPathsToInsertForSupplementaryViewOfKind(
570            &self,
571            element_kind: &NSCollectionViewSupplementaryElementKind,
572        ) -> Id<NSSet<NSIndexPath>>;
573
574        #[cfg(all(feature = "Foundation_NSIndexPath", feature = "Foundation_NSSet"))]
575        #[method_id(@__retain_semantics Other indexPathsToInsertForDecorationViewOfKind:)]
576        pub unsafe fn indexPathsToInsertForDecorationViewOfKind(
577            &self,
578            element_kind: &NSCollectionViewDecorationElementKind,
579        ) -> Id<NSSet<NSIndexPath>>;
580    }
581);