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