1use 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#[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
36pub type NSCollectionViewDecorationElementKind = NSString;
38
39extern "C" {
40 #[cfg(feature = "NSCollectionView")]
42 pub static NSCollectionElementKindInterItemGapIndicator:
43 &'static NSCollectionViewSupplementaryElementKind;
44}
45
46extern_class!(
47 #[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 #[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 #[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 #[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 #[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 #[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 #[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
165impl 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#[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 #[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
232impl 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 #[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 #[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 #[unsafe(method(setContentSizeAdjustment:))]
322 #[unsafe(method_family = none)]
323 pub unsafe fn setContentSizeAdjustment(&self, content_size_adjustment: NSSize);
324 );
325}
326
327impl 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 #[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
397impl 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
410impl 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
518impl 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}