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 NSDirectionalRectEdge(pub NSUInteger);
17bitflags::bitflags! {
18 impl NSDirectionalRectEdge: NSUInteger {
19 #[doc(alias = "NSDirectionalRectEdgeNone")]
20 const None = 0;
21 #[doc(alias = "NSDirectionalRectEdgeTop")]
22 const Top = 1<<0;
23 #[doc(alias = "NSDirectionalRectEdgeLeading")]
24 const Leading = 1<<1;
25 #[doc(alias = "NSDirectionalRectEdgeBottom")]
26 const Bottom = 1<<2;
27 #[doc(alias = "NSDirectionalRectEdgeTrailing")]
28 const Trailing = 1<<3;
29 #[doc(alias = "NSDirectionalRectEdgeAll")]
30 const All = NSDirectionalRectEdge::Top.0|NSDirectionalRectEdge::Leading.0|NSDirectionalRectEdge::Bottom.0|NSDirectionalRectEdge::Trailing.0;
31 }
32}
33
34unsafe impl Encode for NSDirectionalRectEdge {
35 const ENCODING: Encoding = NSUInteger::ENCODING;
36}
37
38unsafe impl RefEncode for NSDirectionalRectEdge {
39 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
40}
41
42#[cfg(feature = "objc2-core-foundation")]
44#[repr(C)]
45#[derive(Clone, Copy, Debug, PartialEq)]
46pub struct NSDirectionalEdgeInsets {
47 pub top: CGFloat,
48 pub leading: CGFloat,
49 pub bottom: CGFloat,
50 pub trailing: CGFloat,
51}
52
53#[cfg(feature = "objc2-core-foundation")]
54unsafe impl Encode for NSDirectionalEdgeInsets {
55 const ENCODING: Encoding = Encoding::Struct(
56 "NSDirectionalEdgeInsets",
57 &[
58 <CGFloat>::ENCODING,
59 <CGFloat>::ENCODING,
60 <CGFloat>::ENCODING,
61 <CGFloat>::ENCODING,
62 ],
63 );
64}
65
66#[cfg(feature = "objc2-core-foundation")]
67unsafe impl RefEncode for NSDirectionalEdgeInsets {
68 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
69}
70
71#[cfg(feature = "objc2-core-foundation")]
72unsafe impl Send for NSDirectionalEdgeInsets {}
73
74#[cfg(feature = "objc2-core-foundation")]
75unsafe impl Sync for NSDirectionalEdgeInsets {}
76
77extern "C" {
78 #[cfg(feature = "objc2-core-foundation")]
80 pub static NSDirectionalEdgeInsetsZero: NSDirectionalEdgeInsets;
81}
82
83#[repr(transparent)]
86#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
87pub struct NSRectAlignment(pub NSInteger);
88impl NSRectAlignment {
89 #[doc(alias = "NSRectAlignmentNone")]
90 pub const None: Self = Self(0);
91 #[doc(alias = "NSRectAlignmentTop")]
92 pub const Top: Self = Self(1);
93 #[doc(alias = "NSRectAlignmentTopLeading")]
94 pub const TopLeading: Self = Self(2);
95 #[doc(alias = "NSRectAlignmentLeading")]
96 pub const Leading: Self = Self(3);
97 #[doc(alias = "NSRectAlignmentBottomLeading")]
98 pub const BottomLeading: Self = Self(4);
99 #[doc(alias = "NSRectAlignmentBottom")]
100 pub const Bottom: Self = Self(5);
101 #[doc(alias = "NSRectAlignmentBottomTrailing")]
102 pub const BottomTrailing: Self = Self(6);
103 #[doc(alias = "NSRectAlignmentTrailing")]
104 pub const Trailing: Self = Self(7);
105 #[doc(alias = "NSRectAlignmentTopTrailing")]
106 pub const TopTrailing: Self = Self(8);
107}
108
109unsafe impl Encode for NSRectAlignment {
110 const ENCODING: Encoding = NSInteger::ENCODING;
111}
112
113unsafe impl RefEncode for NSRectAlignment {
114 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
115}
116
117extern_class!(
120 #[unsafe(super(NSObject))]
122 #[thread_kind = MainThreadOnly]
123 #[derive(Debug, PartialEq, Eq, Hash)]
124 pub struct NSCollectionViewCompositionalLayoutConfiguration;
125);
126
127unsafe impl NSCopying for NSCollectionViewCompositionalLayoutConfiguration {}
128
129unsafe impl CopyingHelper for NSCollectionViewCompositionalLayoutConfiguration {
130 type Result = Self;
131}
132
133unsafe impl NSObjectProtocol for NSCollectionViewCompositionalLayoutConfiguration {}
134
135impl NSCollectionViewCompositionalLayoutConfiguration {
136 extern_methods!(
137 #[cfg(feature = "NSCollectionViewFlowLayout")]
138 #[unsafe(method(scrollDirection))]
139 #[unsafe(method_family = none)]
140 pub unsafe fn scrollDirection(&self) -> NSCollectionViewScrollDirection;
141
142 #[cfg(feature = "NSCollectionViewFlowLayout")]
143 #[unsafe(method(setScrollDirection:))]
145 #[unsafe(method_family = none)]
146 pub unsafe fn setScrollDirection(&self, scroll_direction: NSCollectionViewScrollDirection);
147
148 #[cfg(feature = "objc2-core-foundation")]
149 #[unsafe(method(interSectionSpacing))]
150 #[unsafe(method_family = none)]
151 pub unsafe fn interSectionSpacing(&self) -> CGFloat;
152
153 #[cfg(feature = "objc2-core-foundation")]
154 #[unsafe(method(setInterSectionSpacing:))]
156 #[unsafe(method_family = none)]
157 pub unsafe fn setInterSectionSpacing(&self, inter_section_spacing: CGFloat);
158
159 #[unsafe(method(boundarySupplementaryItems))]
160 #[unsafe(method_family = none)]
161 pub unsafe fn boundarySupplementaryItems(
162 &self,
163 ) -> Retained<NSArray<NSCollectionLayoutBoundarySupplementaryItem>>;
164
165 #[unsafe(method(setBoundarySupplementaryItems:))]
167 #[unsafe(method_family = none)]
168 pub unsafe fn setBoundarySupplementaryItems(
169 &self,
170 boundary_supplementary_items: &NSArray<NSCollectionLayoutBoundarySupplementaryItem>,
171 );
172 );
173}
174
175impl NSCollectionViewCompositionalLayoutConfiguration {
177 extern_methods!(
178 #[unsafe(method(init))]
179 #[unsafe(method_family = init)]
180 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
181
182 #[unsafe(method(new))]
183 #[unsafe(method_family = new)]
184 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
185 );
186}
187
188#[cfg(feature = "block2")]
190pub type NSCollectionViewCompositionalLayoutSectionProvider = *mut block2::Block<
191 dyn Fn(
192 NSInteger,
193 NonNull<ProtocolObject<dyn NSCollectionLayoutEnvironment>>,
194 ) -> *mut NSCollectionLayoutSection,
195>;
196
197extern_class!(
198 #[unsafe(super(NSCollectionViewLayout, NSObject))]
200 #[derive(Debug, PartialEq, Eq, Hash)]
201 #[cfg(feature = "NSCollectionViewLayout")]
202 pub struct NSCollectionViewCompositionalLayout;
203);
204
205#[cfg(feature = "NSCollectionViewLayout")]
206unsafe impl NSCoding for NSCollectionViewCompositionalLayout {}
207
208#[cfg(feature = "NSCollectionViewLayout")]
209unsafe impl NSObjectProtocol for NSCollectionViewCompositionalLayout {}
210
211#[cfg(feature = "NSCollectionViewLayout")]
212impl NSCollectionViewCompositionalLayout {
213 extern_methods!(
214 #[unsafe(method(initWithSection:))]
215 #[unsafe(method_family = init)]
216 pub unsafe fn initWithSection(
217 this: Allocated<Self>,
218 section: &NSCollectionLayoutSection,
219 ) -> Retained<Self>;
220
221 #[unsafe(method(initWithSection:configuration:))]
222 #[unsafe(method_family = init)]
223 pub unsafe fn initWithSection_configuration(
224 this: Allocated<Self>,
225 section: &NSCollectionLayoutSection,
226 configuration: &NSCollectionViewCompositionalLayoutConfiguration,
227 ) -> Retained<Self>;
228
229 #[cfg(feature = "block2")]
230 #[unsafe(method(initWithSectionProvider:))]
231 #[unsafe(method_family = init)]
232 pub unsafe fn initWithSectionProvider(
233 this: Allocated<Self>,
234 section_provider: NSCollectionViewCompositionalLayoutSectionProvider,
235 ) -> Retained<Self>;
236
237 #[cfg(feature = "block2")]
238 #[unsafe(method(initWithSectionProvider:configuration:))]
239 #[unsafe(method_family = init)]
240 pub unsafe fn initWithSectionProvider_configuration(
241 this: Allocated<Self>,
242 section_provider: NSCollectionViewCompositionalLayoutSectionProvider,
243 configuration: &NSCollectionViewCompositionalLayoutConfiguration,
244 ) -> Retained<Self>;
245
246 #[unsafe(method(init))]
247 #[unsafe(method_family = init)]
248 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
249
250 #[unsafe(method(new))]
251 #[unsafe(method_family = new)]
252 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
253
254 #[unsafe(method(configuration))]
255 #[unsafe(method_family = none)]
256 pub unsafe fn configuration(
257 &self,
258 ) -> Retained<NSCollectionViewCompositionalLayoutConfiguration>;
259
260 #[unsafe(method(setConfiguration:))]
262 #[unsafe(method_family = none)]
263 pub unsafe fn setConfiguration(
264 &self,
265 configuration: &NSCollectionViewCompositionalLayoutConfiguration,
266 );
267 );
268}
269
270#[repr(transparent)]
273#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
274pub struct NSCollectionLayoutSectionOrthogonalScrollingBehavior(pub NSInteger);
275impl NSCollectionLayoutSectionOrthogonalScrollingBehavior {
276 #[doc(alias = "NSCollectionLayoutSectionOrthogonalScrollingBehaviorNone")]
277 pub const None: Self = Self(0);
278 #[doc(alias = "NSCollectionLayoutSectionOrthogonalScrollingBehaviorContinuous")]
279 pub const Continuous: Self = Self(1);
280 #[doc(
281 alias = "NSCollectionLayoutSectionOrthogonalScrollingBehaviorContinuousGroupLeadingBoundary"
282 )]
283 pub const ContinuousGroupLeadingBoundary: Self = Self(2);
284 #[doc(alias = "NSCollectionLayoutSectionOrthogonalScrollingBehaviorPaging")]
285 pub const Paging: Self = Self(3);
286 #[doc(alias = "NSCollectionLayoutSectionOrthogonalScrollingBehaviorGroupPaging")]
287 pub const GroupPaging: Self = Self(4);
288 #[doc(alias = "NSCollectionLayoutSectionOrthogonalScrollingBehaviorGroupPagingCentered")]
289 pub const GroupPagingCentered: Self = Self(5);
290}
291
292unsafe impl Encode for NSCollectionLayoutSectionOrthogonalScrollingBehavior {
293 const ENCODING: Encoding = NSInteger::ENCODING;
294}
295
296unsafe impl RefEncode for NSCollectionLayoutSectionOrthogonalScrollingBehavior {
297 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
298}
299
300#[cfg(feature = "block2")]
302pub type NSCollectionLayoutSectionVisibleItemsInvalidationHandler = *mut block2::Block<
303 dyn Fn(
304 NonNull<NSArray<ProtocolObject<dyn NSCollectionLayoutVisibleItem>>>,
305 NSPoint,
306 NonNull<ProtocolObject<dyn NSCollectionLayoutEnvironment>>,
307 ),
308>;
309
310extern_class!(
311 #[unsafe(super(NSObject))]
313 #[thread_kind = MainThreadOnly]
314 #[derive(Debug, PartialEq, Eq, Hash)]
315 pub struct NSCollectionLayoutSection;
316);
317
318unsafe impl NSCopying for NSCollectionLayoutSection {}
319
320unsafe impl CopyingHelper for NSCollectionLayoutSection {
321 type Result = Self;
322}
323
324unsafe impl NSObjectProtocol for NSCollectionLayoutSection {}
325
326impl NSCollectionLayoutSection {
327 extern_methods!(
328 #[unsafe(method(sectionWithGroup:))]
329 #[unsafe(method_family = none)]
330 pub unsafe fn sectionWithGroup(group: &NSCollectionLayoutGroup) -> Retained<Self>;
331
332 #[unsafe(method(init))]
333 #[unsafe(method_family = init)]
334 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
335
336 #[unsafe(method(new))]
337 #[unsafe(method_family = new)]
338 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
339
340 #[cfg(feature = "objc2-core-foundation")]
341 #[unsafe(method(contentInsets))]
342 #[unsafe(method_family = none)]
343 pub unsafe fn contentInsets(&self) -> NSDirectionalEdgeInsets;
344
345 #[cfg(feature = "objc2-core-foundation")]
346 #[unsafe(method(setContentInsets:))]
348 #[unsafe(method_family = none)]
349 pub unsafe fn setContentInsets(&self, content_insets: NSDirectionalEdgeInsets);
350
351 #[cfg(feature = "objc2-core-foundation")]
352 #[unsafe(method(interGroupSpacing))]
353 #[unsafe(method_family = none)]
354 pub unsafe fn interGroupSpacing(&self) -> CGFloat;
355
356 #[cfg(feature = "objc2-core-foundation")]
357 #[unsafe(method(setInterGroupSpacing:))]
359 #[unsafe(method_family = none)]
360 pub unsafe fn setInterGroupSpacing(&self, inter_group_spacing: CGFloat);
361
362 #[unsafe(method(orthogonalScrollingBehavior))]
363 #[unsafe(method_family = none)]
364 pub unsafe fn orthogonalScrollingBehavior(
365 &self,
366 ) -> NSCollectionLayoutSectionOrthogonalScrollingBehavior;
367
368 #[unsafe(method(setOrthogonalScrollingBehavior:))]
370 #[unsafe(method_family = none)]
371 pub unsafe fn setOrthogonalScrollingBehavior(
372 &self,
373 orthogonal_scrolling_behavior: NSCollectionLayoutSectionOrthogonalScrollingBehavior,
374 );
375
376 #[unsafe(method(boundarySupplementaryItems))]
377 #[unsafe(method_family = none)]
378 pub unsafe fn boundarySupplementaryItems(
379 &self,
380 ) -> Retained<NSArray<NSCollectionLayoutBoundarySupplementaryItem>>;
381
382 #[unsafe(method(setBoundarySupplementaryItems:))]
384 #[unsafe(method_family = none)]
385 pub unsafe fn setBoundarySupplementaryItems(
386 &self,
387 boundary_supplementary_items: &NSArray<NSCollectionLayoutBoundarySupplementaryItem>,
388 );
389
390 #[unsafe(method(supplementariesFollowContentInsets))]
391 #[unsafe(method_family = none)]
392 pub unsafe fn supplementariesFollowContentInsets(&self) -> bool;
393
394 #[unsafe(method(setSupplementariesFollowContentInsets:))]
396 #[unsafe(method_family = none)]
397 pub unsafe fn setSupplementariesFollowContentInsets(
398 &self,
399 supplementaries_follow_content_insets: bool,
400 );
401
402 #[cfg(feature = "block2")]
403 #[unsafe(method(visibleItemsInvalidationHandler))]
404 #[unsafe(method_family = none)]
405 pub unsafe fn visibleItemsInvalidationHandler(
406 &self,
407 ) -> NSCollectionLayoutSectionVisibleItemsInvalidationHandler;
408
409 #[cfg(feature = "block2")]
410 #[unsafe(method(setVisibleItemsInvalidationHandler:))]
412 #[unsafe(method_family = none)]
413 pub unsafe fn setVisibleItemsInvalidationHandler(
414 &self,
415 visible_items_invalidation_handler: NSCollectionLayoutSectionVisibleItemsInvalidationHandler,
416 );
417
418 #[unsafe(method(decorationItems))]
419 #[unsafe(method_family = none)]
420 pub unsafe fn decorationItems(&self)
421 -> Retained<NSArray<NSCollectionLayoutDecorationItem>>;
422
423 #[unsafe(method(setDecorationItems:))]
425 #[unsafe(method_family = none)]
426 pub unsafe fn setDecorationItems(
427 &self,
428 decoration_items: &NSArray<NSCollectionLayoutDecorationItem>,
429 );
430 );
431}
432
433extern_class!(
434 #[unsafe(super(NSObject))]
436 #[thread_kind = MainThreadOnly]
437 #[derive(Debug, PartialEq, Eq, Hash)]
438 pub struct NSCollectionLayoutItem;
439);
440
441unsafe impl NSCopying for NSCollectionLayoutItem {}
442
443unsafe impl CopyingHelper for NSCollectionLayoutItem {
444 type Result = Self;
445}
446
447unsafe impl NSObjectProtocol for NSCollectionLayoutItem {}
448
449impl NSCollectionLayoutItem {
450 extern_methods!(
451 #[unsafe(method(itemWithLayoutSize:))]
452 #[unsafe(method_family = none)]
453 pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Retained<Self>;
454
455 #[unsafe(method(itemWithLayoutSize:supplementaryItems:))]
456 #[unsafe(method_family = none)]
457 pub unsafe fn itemWithLayoutSize_supplementaryItems(
458 layout_size: &NSCollectionLayoutSize,
459 supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
460 ) -> Retained<Self>;
461
462 #[unsafe(method(init))]
463 #[unsafe(method_family = init)]
464 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
465
466 #[unsafe(method(new))]
467 #[unsafe(method_family = new)]
468 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
469
470 #[cfg(feature = "objc2-core-foundation")]
471 #[unsafe(method(contentInsets))]
472 #[unsafe(method_family = none)]
473 pub unsafe fn contentInsets(&self) -> NSDirectionalEdgeInsets;
474
475 #[cfg(feature = "objc2-core-foundation")]
476 #[unsafe(method(setContentInsets:))]
478 #[unsafe(method_family = none)]
479 pub unsafe fn setContentInsets(&self, content_insets: NSDirectionalEdgeInsets);
480
481 #[unsafe(method(edgeSpacing))]
482 #[unsafe(method_family = none)]
483 pub unsafe fn edgeSpacing(&self) -> Option<Retained<NSCollectionLayoutEdgeSpacing>>;
484
485 #[unsafe(method(setEdgeSpacing:))]
487 #[unsafe(method_family = none)]
488 pub unsafe fn setEdgeSpacing(&self, edge_spacing: Option<&NSCollectionLayoutEdgeSpacing>);
489
490 #[unsafe(method(layoutSize))]
491 #[unsafe(method_family = none)]
492 pub unsafe fn layoutSize(&self) -> Retained<NSCollectionLayoutSize>;
493
494 #[unsafe(method(supplementaryItems))]
495 #[unsafe(method_family = none)]
496 pub unsafe fn supplementaryItems(
497 &self,
498 ) -> Retained<NSArray<NSCollectionLayoutSupplementaryItem>>;
499 );
500}
501
502extern_class!(
503 #[unsafe(super(NSObject))]
505 #[thread_kind = MainThreadOnly]
506 #[derive(Debug, PartialEq, Eq, Hash)]
507 pub struct NSCollectionLayoutGroupCustomItem;
508);
509
510unsafe impl NSCopying for NSCollectionLayoutGroupCustomItem {}
511
512unsafe impl CopyingHelper for NSCollectionLayoutGroupCustomItem {
513 type Result = Self;
514}
515
516unsafe impl NSObjectProtocol for NSCollectionLayoutGroupCustomItem {}
517
518impl NSCollectionLayoutGroupCustomItem {
519 extern_methods!(
520 #[unsafe(method(customItemWithFrame:))]
521 #[unsafe(method_family = none)]
522 pub unsafe fn customItemWithFrame(frame: NSRect, mtm: MainThreadMarker) -> Retained<Self>;
523
524 #[unsafe(method(customItemWithFrame:zIndex:))]
525 #[unsafe(method_family = none)]
526 pub unsafe fn customItemWithFrame_zIndex(
527 frame: NSRect,
528 z_index: NSInteger,
529 mtm: MainThreadMarker,
530 ) -> Retained<Self>;
531
532 #[unsafe(method(init))]
533 #[unsafe(method_family = init)]
534 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
535
536 #[unsafe(method(new))]
537 #[unsafe(method_family = new)]
538 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
539
540 #[unsafe(method(frame))]
541 #[unsafe(method_family = none)]
542 pub unsafe fn frame(&self) -> NSRect;
543
544 #[unsafe(method(zIndex))]
545 #[unsafe(method_family = none)]
546 pub unsafe fn zIndex(&self) -> NSInteger;
547 );
548}
549
550#[cfg(feature = "block2")]
552pub type NSCollectionLayoutGroupCustomItemProvider = *mut block2::Block<
553 dyn Fn(
554 NonNull<ProtocolObject<dyn NSCollectionLayoutEnvironment>>,
555 ) -> NonNull<NSArray<NSCollectionLayoutGroupCustomItem>>,
556>;
557
558extern_class!(
559 #[unsafe(super(NSCollectionLayoutItem, NSObject))]
561 #[derive(Debug, PartialEq, Eq, Hash)]
562 pub struct NSCollectionLayoutGroup;
563);
564
565unsafe impl NSCopying for NSCollectionLayoutGroup {}
566
567unsafe impl CopyingHelper for NSCollectionLayoutGroup {
568 type Result = Self;
569}
570
571unsafe impl NSObjectProtocol for NSCollectionLayoutGroup {}
572
573impl NSCollectionLayoutGroup {
574 extern_methods!(
575 #[unsafe(method(horizontalGroupWithLayoutSize:subitem:count:))]
576 #[unsafe(method_family = none)]
577 pub unsafe fn horizontalGroupWithLayoutSize_subitem_count(
578 layout_size: &NSCollectionLayoutSize,
579 subitem: &NSCollectionLayoutItem,
580 count: NSInteger,
581 ) -> Retained<Self>;
582
583 #[unsafe(method(horizontalGroupWithLayoutSize:subitems:))]
584 #[unsafe(method_family = none)]
585 pub unsafe fn horizontalGroupWithLayoutSize_subitems(
586 layout_size: &NSCollectionLayoutSize,
587 subitems: &NSArray<NSCollectionLayoutItem>,
588 ) -> Retained<Self>;
589
590 #[unsafe(method(verticalGroupWithLayoutSize:subitem:count:))]
591 #[unsafe(method_family = none)]
592 pub unsafe fn verticalGroupWithLayoutSize_subitem_count(
593 layout_size: &NSCollectionLayoutSize,
594 subitem: &NSCollectionLayoutItem,
595 count: NSInteger,
596 ) -> Retained<Self>;
597
598 #[unsafe(method(verticalGroupWithLayoutSize:subitems:))]
599 #[unsafe(method_family = none)]
600 pub unsafe fn verticalGroupWithLayoutSize_subitems(
601 layout_size: &NSCollectionLayoutSize,
602 subitems: &NSArray<NSCollectionLayoutItem>,
603 ) -> Retained<Self>;
604
605 #[cfg(feature = "block2")]
606 #[unsafe(method(customGroupWithLayoutSize:itemProvider:))]
607 #[unsafe(method_family = none)]
608 pub unsafe fn customGroupWithLayoutSize_itemProvider(
609 layout_size: &NSCollectionLayoutSize,
610 item_provider: NSCollectionLayoutGroupCustomItemProvider,
611 ) -> Retained<Self>;
612
613 #[unsafe(method(init))]
614 #[unsafe(method_family = init)]
615 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
616
617 #[unsafe(method(new))]
618 #[unsafe(method_family = new)]
619 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
620
621 #[unsafe(method(supplementaryItems))]
622 #[unsafe(method_family = none)]
623 pub unsafe fn supplementaryItems(
624 &self,
625 ) -> Retained<NSArray<NSCollectionLayoutSupplementaryItem>>;
626
627 #[unsafe(method(setSupplementaryItems:))]
629 #[unsafe(method_family = none)]
630 pub unsafe fn setSupplementaryItems(
631 &self,
632 supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
633 );
634
635 #[unsafe(method(interItemSpacing))]
636 #[unsafe(method_family = none)]
637 pub unsafe fn interItemSpacing(&self) -> Option<Retained<NSCollectionLayoutSpacing>>;
638
639 #[unsafe(method(setInterItemSpacing:))]
641 #[unsafe(method_family = none)]
642 pub unsafe fn setInterItemSpacing(
643 &self,
644 inter_item_spacing: Option<&NSCollectionLayoutSpacing>,
645 );
646
647 #[unsafe(method(subitems))]
648 #[unsafe(method_family = none)]
649 pub unsafe fn subitems(&self) -> Retained<NSArray<NSCollectionLayoutItem>>;
650
651 #[unsafe(method(visualDescription))]
652 #[unsafe(method_family = none)]
653 pub unsafe fn visualDescription(&self) -> Retained<NSString>;
654 );
655}
656
657impl NSCollectionLayoutGroup {
659 extern_methods!(
660 #[unsafe(method(itemWithLayoutSize:))]
661 #[unsafe(method_family = none)]
662 pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Retained<Self>;
663
664 #[unsafe(method(itemWithLayoutSize:supplementaryItems:))]
665 #[unsafe(method_family = none)]
666 pub unsafe fn itemWithLayoutSize_supplementaryItems(
667 layout_size: &NSCollectionLayoutSize,
668 supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
669 ) -> Retained<Self>;
670 );
671}
672
673extern_class!(
674 #[unsafe(super(NSObject))]
676 #[thread_kind = MainThreadOnly]
677 #[derive(Debug, PartialEq, Eq, Hash)]
678 pub struct NSCollectionLayoutDimension;
679);
680
681unsafe impl NSCopying for NSCollectionLayoutDimension {}
682
683unsafe impl CopyingHelper for NSCollectionLayoutDimension {
684 type Result = Self;
685}
686
687unsafe impl NSObjectProtocol for NSCollectionLayoutDimension {}
688
689impl NSCollectionLayoutDimension {
690 extern_methods!(
691 #[cfg(feature = "objc2-core-foundation")]
692 #[unsafe(method(fractionalWidthDimension:))]
693 #[unsafe(method_family = none)]
694 pub unsafe fn fractionalWidthDimension(
695 fractional_width: CGFloat,
696 mtm: MainThreadMarker,
697 ) -> Retained<Self>;
698
699 #[cfg(feature = "objc2-core-foundation")]
700 #[unsafe(method(fractionalHeightDimension:))]
701 #[unsafe(method_family = none)]
702 pub unsafe fn fractionalHeightDimension(
703 fractional_height: CGFloat,
704 mtm: MainThreadMarker,
705 ) -> Retained<Self>;
706
707 #[cfg(feature = "objc2-core-foundation")]
708 #[unsafe(method(absoluteDimension:))]
709 #[unsafe(method_family = none)]
710 pub unsafe fn absoluteDimension(
711 absolute_dimension: CGFloat,
712 mtm: MainThreadMarker,
713 ) -> Retained<Self>;
714
715 #[cfg(feature = "objc2-core-foundation")]
716 #[unsafe(method(estimatedDimension:))]
717 #[unsafe(method_family = none)]
718 pub unsafe fn estimatedDimension(
719 estimated_dimension: CGFloat,
720 mtm: MainThreadMarker,
721 ) -> Retained<Self>;
722
723 #[unsafe(method(init))]
724 #[unsafe(method_family = init)]
725 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
726
727 #[unsafe(method(new))]
728 #[unsafe(method_family = new)]
729 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
730
731 #[unsafe(method(isFractionalWidth))]
732 #[unsafe(method_family = none)]
733 pub unsafe fn isFractionalWidth(&self) -> bool;
734
735 #[unsafe(method(isFractionalHeight))]
736 #[unsafe(method_family = none)]
737 pub unsafe fn isFractionalHeight(&self) -> bool;
738
739 #[unsafe(method(isAbsolute))]
740 #[unsafe(method_family = none)]
741 pub unsafe fn isAbsolute(&self) -> bool;
742
743 #[unsafe(method(isEstimated))]
744 #[unsafe(method_family = none)]
745 pub unsafe fn isEstimated(&self) -> bool;
746
747 #[cfg(feature = "objc2-core-foundation")]
748 #[unsafe(method(dimension))]
749 #[unsafe(method_family = none)]
750 pub unsafe fn dimension(&self) -> CGFloat;
751 );
752}
753
754extern_class!(
755 #[unsafe(super(NSObject))]
757 #[thread_kind = MainThreadOnly]
758 #[derive(Debug, PartialEq, Eq, Hash)]
759 pub struct NSCollectionLayoutSize;
760);
761
762unsafe impl NSCopying for NSCollectionLayoutSize {}
763
764unsafe impl CopyingHelper for NSCollectionLayoutSize {
765 type Result = Self;
766}
767
768unsafe impl NSObjectProtocol for NSCollectionLayoutSize {}
769
770impl NSCollectionLayoutSize {
771 extern_methods!(
772 #[unsafe(method(sizeWithWidthDimension:heightDimension:))]
773 #[unsafe(method_family = none)]
774 pub unsafe fn sizeWithWidthDimension_heightDimension(
775 width: &NSCollectionLayoutDimension,
776 height: &NSCollectionLayoutDimension,
777 ) -> Retained<Self>;
778
779 #[unsafe(method(init))]
780 #[unsafe(method_family = init)]
781 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
782
783 #[unsafe(method(new))]
784 #[unsafe(method_family = new)]
785 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
786
787 #[unsafe(method(widthDimension))]
788 #[unsafe(method_family = none)]
789 pub unsafe fn widthDimension(&self) -> Retained<NSCollectionLayoutDimension>;
790
791 #[unsafe(method(heightDimension))]
792 #[unsafe(method_family = none)]
793 pub unsafe fn heightDimension(&self) -> Retained<NSCollectionLayoutDimension>;
794 );
795}
796
797extern_class!(
798 #[unsafe(super(NSObject))]
800 #[thread_kind = MainThreadOnly]
801 #[derive(Debug, PartialEq, Eq, Hash)]
802 pub struct NSCollectionLayoutSpacing;
803);
804
805unsafe impl NSCopying for NSCollectionLayoutSpacing {}
806
807unsafe impl CopyingHelper for NSCollectionLayoutSpacing {
808 type Result = Self;
809}
810
811unsafe impl NSObjectProtocol for NSCollectionLayoutSpacing {}
812
813impl NSCollectionLayoutSpacing {
814 extern_methods!(
815 #[cfg(feature = "objc2-core-foundation")]
816 #[unsafe(method(flexibleSpacing:))]
817 #[unsafe(method_family = none)]
818 pub unsafe fn flexibleSpacing(
819 flexible_spacing: CGFloat,
820 mtm: MainThreadMarker,
821 ) -> Retained<Self>;
822
823 #[cfg(feature = "objc2-core-foundation")]
824 #[unsafe(method(fixedSpacing:))]
825 #[unsafe(method_family = none)]
826 pub unsafe fn fixedSpacing(fixed_spacing: CGFloat, mtm: MainThreadMarker)
827 -> Retained<Self>;
828
829 #[unsafe(method(init))]
830 #[unsafe(method_family = init)]
831 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
832
833 #[unsafe(method(new))]
834 #[unsafe(method_family = new)]
835 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
836
837 #[cfg(feature = "objc2-core-foundation")]
838 #[unsafe(method(spacing))]
839 #[unsafe(method_family = none)]
840 pub unsafe fn spacing(&self) -> CGFloat;
841
842 #[unsafe(method(isFlexibleSpacing))]
843 #[unsafe(method_family = none)]
844 pub unsafe fn isFlexibleSpacing(&self) -> bool;
845
846 #[unsafe(method(isFixedSpacing))]
847 #[unsafe(method_family = none)]
848 pub unsafe fn isFixedSpacing(&self) -> bool;
849 );
850}
851
852extern_class!(
853 #[unsafe(super(NSObject))]
855 #[thread_kind = MainThreadOnly]
856 #[derive(Debug, PartialEq, Eq, Hash)]
857 pub struct NSCollectionLayoutEdgeSpacing;
858);
859
860unsafe impl NSCopying for NSCollectionLayoutEdgeSpacing {}
861
862unsafe impl CopyingHelper for NSCollectionLayoutEdgeSpacing {
863 type Result = Self;
864}
865
866unsafe impl NSObjectProtocol for NSCollectionLayoutEdgeSpacing {}
867
868impl NSCollectionLayoutEdgeSpacing {
869 extern_methods!(
870 #[unsafe(method(spacingForLeading:top:trailing:bottom:))]
871 #[unsafe(method_family = none)]
872 pub unsafe fn spacingForLeading_top_trailing_bottom(
873 leading: Option<&NSCollectionLayoutSpacing>,
874 top: Option<&NSCollectionLayoutSpacing>,
875 trailing: Option<&NSCollectionLayoutSpacing>,
876 bottom: Option<&NSCollectionLayoutSpacing>,
877 mtm: MainThreadMarker,
878 ) -> Retained<Self>;
879
880 #[unsafe(method(init))]
881 #[unsafe(method_family = init)]
882 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
883
884 #[unsafe(method(new))]
885 #[unsafe(method_family = new)]
886 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
887
888 #[unsafe(method(leading))]
889 #[unsafe(method_family = none)]
890 pub unsafe fn leading(&self) -> Option<Retained<NSCollectionLayoutSpacing>>;
891
892 #[unsafe(method(top))]
893 #[unsafe(method_family = none)]
894 pub unsafe fn top(&self) -> Option<Retained<NSCollectionLayoutSpacing>>;
895
896 #[unsafe(method(trailing))]
897 #[unsafe(method_family = none)]
898 pub unsafe fn trailing(&self) -> Option<Retained<NSCollectionLayoutSpacing>>;
899
900 #[unsafe(method(bottom))]
901 #[unsafe(method_family = none)]
902 pub unsafe fn bottom(&self) -> Option<Retained<NSCollectionLayoutSpacing>>;
903 );
904}
905
906extern_class!(
907 #[unsafe(super(NSCollectionLayoutItem, NSObject))]
909 #[derive(Debug, PartialEq, Eq, Hash)]
910 pub struct NSCollectionLayoutSupplementaryItem;
911);
912
913unsafe impl NSCopying for NSCollectionLayoutSupplementaryItem {}
914
915unsafe impl CopyingHelper for NSCollectionLayoutSupplementaryItem {
916 type Result = Self;
917}
918
919unsafe impl NSObjectProtocol for NSCollectionLayoutSupplementaryItem {}
920
921impl NSCollectionLayoutSupplementaryItem {
922 extern_methods!(
923 #[unsafe(method(supplementaryItemWithLayoutSize:elementKind:containerAnchor:))]
924 #[unsafe(method_family = none)]
925 pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor(
926 layout_size: &NSCollectionLayoutSize,
927 element_kind: &NSString,
928 container_anchor: &NSCollectionLayoutAnchor,
929 ) -> Retained<Self>;
930
931 #[unsafe(method(supplementaryItemWithLayoutSize:elementKind:containerAnchor:itemAnchor:))]
932 #[unsafe(method_family = none)]
933 pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor_itemAnchor(
934 layout_size: &NSCollectionLayoutSize,
935 element_kind: &NSString,
936 container_anchor: &NSCollectionLayoutAnchor,
937 item_anchor: &NSCollectionLayoutAnchor,
938 ) -> Retained<Self>;
939
940 #[unsafe(method(init))]
941 #[unsafe(method_family = init)]
942 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
943
944 #[unsafe(method(new))]
945 #[unsafe(method_family = new)]
946 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
947
948 #[unsafe(method(zIndex))]
949 #[unsafe(method_family = none)]
950 pub unsafe fn zIndex(&self) -> NSInteger;
951
952 #[unsafe(method(setZIndex:))]
954 #[unsafe(method_family = none)]
955 pub unsafe fn setZIndex(&self, z_index: NSInteger);
956
957 #[unsafe(method(elementKind))]
958 #[unsafe(method_family = none)]
959 pub unsafe fn elementKind(&self) -> Retained<NSString>;
960
961 #[unsafe(method(containerAnchor))]
962 #[unsafe(method_family = none)]
963 pub unsafe fn containerAnchor(&self) -> Retained<NSCollectionLayoutAnchor>;
964
965 #[unsafe(method(itemAnchor))]
966 #[unsafe(method_family = none)]
967 pub unsafe fn itemAnchor(&self) -> Option<Retained<NSCollectionLayoutAnchor>>;
968 );
969}
970
971impl NSCollectionLayoutSupplementaryItem {
973 extern_methods!(
974 #[unsafe(method(itemWithLayoutSize:))]
975 #[unsafe(method_family = none)]
976 pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Retained<Self>;
977
978 #[unsafe(method(itemWithLayoutSize:supplementaryItems:))]
979 #[unsafe(method_family = none)]
980 pub unsafe fn itemWithLayoutSize_supplementaryItems(
981 layout_size: &NSCollectionLayoutSize,
982 supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
983 ) -> Retained<Self>;
984 );
985}
986
987extern_class!(
988 #[unsafe(super(NSCollectionLayoutSupplementaryItem, NSCollectionLayoutItem, NSObject))]
990 #[derive(Debug, PartialEq, Eq, Hash)]
991 pub struct NSCollectionLayoutBoundarySupplementaryItem;
992);
993
994unsafe impl NSCopying for NSCollectionLayoutBoundarySupplementaryItem {}
995
996unsafe impl CopyingHelper for NSCollectionLayoutBoundarySupplementaryItem {
997 type Result = Self;
998}
999
1000unsafe impl NSObjectProtocol for NSCollectionLayoutBoundarySupplementaryItem {}
1001
1002impl NSCollectionLayoutBoundarySupplementaryItem {
1003 extern_methods!(
1004 #[unsafe(method(boundarySupplementaryItemWithLayoutSize:elementKind:alignment:))]
1005 #[unsafe(method_family = none)]
1006 pub unsafe fn boundarySupplementaryItemWithLayoutSize_elementKind_alignment(
1007 layout_size: &NSCollectionLayoutSize,
1008 element_kind: &NSString,
1009 alignment: NSRectAlignment,
1010 ) -> Retained<Self>;
1011
1012 #[unsafe(method(boundarySupplementaryItemWithLayoutSize:elementKind:alignment:absoluteOffset:))]
1013 #[unsafe(method_family = none)]
1014 pub unsafe fn boundarySupplementaryItemWithLayoutSize_elementKind_alignment_absoluteOffset(
1015 layout_size: &NSCollectionLayoutSize,
1016 element_kind: &NSString,
1017 alignment: NSRectAlignment,
1018 absolute_offset: NSPoint,
1019 ) -> Retained<Self>;
1020
1021 #[unsafe(method(init))]
1022 #[unsafe(method_family = init)]
1023 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1024
1025 #[unsafe(method(new))]
1026 #[unsafe(method_family = new)]
1027 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
1028
1029 #[unsafe(method(extendsBoundary))]
1030 #[unsafe(method_family = none)]
1031 pub unsafe fn extendsBoundary(&self) -> bool;
1032
1033 #[unsafe(method(setExtendsBoundary:))]
1035 #[unsafe(method_family = none)]
1036 pub unsafe fn setExtendsBoundary(&self, extends_boundary: bool);
1037
1038 #[unsafe(method(pinToVisibleBounds))]
1039 #[unsafe(method_family = none)]
1040 pub unsafe fn pinToVisibleBounds(&self) -> bool;
1041
1042 #[unsafe(method(setPinToVisibleBounds:))]
1044 #[unsafe(method_family = none)]
1045 pub unsafe fn setPinToVisibleBounds(&self, pin_to_visible_bounds: bool);
1046
1047 #[unsafe(method(alignment))]
1048 #[unsafe(method_family = none)]
1049 pub unsafe fn alignment(&self) -> NSRectAlignment;
1050
1051 #[unsafe(method(offset))]
1052 #[unsafe(method_family = none)]
1053 pub unsafe fn offset(&self) -> NSPoint;
1054 );
1055}
1056
1057impl NSCollectionLayoutBoundarySupplementaryItem {
1059 extern_methods!(
1060 #[unsafe(method(supplementaryItemWithLayoutSize:elementKind:containerAnchor:))]
1061 #[unsafe(method_family = none)]
1062 pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor(
1063 layout_size: &NSCollectionLayoutSize,
1064 element_kind: &NSString,
1065 container_anchor: &NSCollectionLayoutAnchor,
1066 ) -> Retained<Self>;
1067
1068 #[unsafe(method(supplementaryItemWithLayoutSize:elementKind:containerAnchor:itemAnchor:))]
1069 #[unsafe(method_family = none)]
1070 pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor_itemAnchor(
1071 layout_size: &NSCollectionLayoutSize,
1072 element_kind: &NSString,
1073 container_anchor: &NSCollectionLayoutAnchor,
1074 item_anchor: &NSCollectionLayoutAnchor,
1075 ) -> Retained<Self>;
1076 );
1077}
1078
1079impl NSCollectionLayoutBoundarySupplementaryItem {
1081 extern_methods!(
1082 #[unsafe(method(itemWithLayoutSize:))]
1083 #[unsafe(method_family = none)]
1084 pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Retained<Self>;
1085
1086 #[unsafe(method(itemWithLayoutSize:supplementaryItems:))]
1087 #[unsafe(method_family = none)]
1088 pub unsafe fn itemWithLayoutSize_supplementaryItems(
1089 layout_size: &NSCollectionLayoutSize,
1090 supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
1091 ) -> Retained<Self>;
1092 );
1093}
1094
1095extern_class!(
1096 #[unsafe(super(NSCollectionLayoutItem, NSObject))]
1098 #[derive(Debug, PartialEq, Eq, Hash)]
1099 pub struct NSCollectionLayoutDecorationItem;
1100);
1101
1102unsafe impl NSCopying for NSCollectionLayoutDecorationItem {}
1103
1104unsafe impl CopyingHelper for NSCollectionLayoutDecorationItem {
1105 type Result = Self;
1106}
1107
1108unsafe impl NSObjectProtocol for NSCollectionLayoutDecorationItem {}
1109
1110impl NSCollectionLayoutDecorationItem {
1111 extern_methods!(
1112 #[unsafe(method(backgroundDecorationItemWithElementKind:))]
1113 #[unsafe(method_family = none)]
1114 pub unsafe fn backgroundDecorationItemWithElementKind(
1115 element_kind: &NSString,
1116 mtm: MainThreadMarker,
1117 ) -> Retained<Self>;
1118
1119 #[unsafe(method(init))]
1120 #[unsafe(method_family = init)]
1121 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1122
1123 #[unsafe(method(new))]
1124 #[unsafe(method_family = new)]
1125 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
1126
1127 #[unsafe(method(zIndex))]
1128 #[unsafe(method_family = none)]
1129 pub unsafe fn zIndex(&self) -> NSInteger;
1130
1131 #[unsafe(method(setZIndex:))]
1133 #[unsafe(method_family = none)]
1134 pub unsafe fn setZIndex(&self, z_index: NSInteger);
1135
1136 #[unsafe(method(elementKind))]
1137 #[unsafe(method_family = none)]
1138 pub unsafe fn elementKind(&self) -> Retained<NSString>;
1139 );
1140}
1141
1142impl NSCollectionLayoutDecorationItem {
1144 extern_methods!(
1145 #[unsafe(method(itemWithLayoutSize:))]
1146 #[unsafe(method_family = none)]
1147 pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Retained<Self>;
1148
1149 #[unsafe(method(itemWithLayoutSize:supplementaryItems:))]
1150 #[unsafe(method_family = none)]
1151 pub unsafe fn itemWithLayoutSize_supplementaryItems(
1152 layout_size: &NSCollectionLayoutSize,
1153 supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
1154 ) -> Retained<Self>;
1155 );
1156}
1157
1158extern_class!(
1159 #[unsafe(super(NSObject))]
1161 #[thread_kind = MainThreadOnly]
1162 #[derive(Debug, PartialEq, Eq, Hash)]
1163 pub struct NSCollectionLayoutAnchor;
1164);
1165
1166unsafe impl NSCopying for NSCollectionLayoutAnchor {}
1167
1168unsafe impl CopyingHelper for NSCollectionLayoutAnchor {
1169 type Result = Self;
1170}
1171
1172unsafe impl NSObjectProtocol for NSCollectionLayoutAnchor {}
1173
1174impl NSCollectionLayoutAnchor {
1175 extern_methods!(
1176 #[unsafe(method(layoutAnchorWithEdges:))]
1177 #[unsafe(method_family = none)]
1178 pub unsafe fn layoutAnchorWithEdges(
1179 edges: NSDirectionalRectEdge,
1180 mtm: MainThreadMarker,
1181 ) -> Retained<Self>;
1182
1183 #[unsafe(method(layoutAnchorWithEdges:absoluteOffset:))]
1184 #[unsafe(method_family = none)]
1185 pub unsafe fn layoutAnchorWithEdges_absoluteOffset(
1186 edges: NSDirectionalRectEdge,
1187 absolute_offset: NSPoint,
1188 mtm: MainThreadMarker,
1189 ) -> Retained<Self>;
1190
1191 #[unsafe(method(layoutAnchorWithEdges:fractionalOffset:))]
1192 #[unsafe(method_family = none)]
1193 pub unsafe fn layoutAnchorWithEdges_fractionalOffset(
1194 edges: NSDirectionalRectEdge,
1195 fractional_offset: NSPoint,
1196 mtm: MainThreadMarker,
1197 ) -> Retained<Self>;
1198
1199 #[unsafe(method(init))]
1200 #[unsafe(method_family = init)]
1201 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1202
1203 #[unsafe(method(new))]
1204 #[unsafe(method_family = new)]
1205 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
1206
1207 #[unsafe(method(edges))]
1208 #[unsafe(method_family = none)]
1209 pub unsafe fn edges(&self) -> NSDirectionalRectEdge;
1210
1211 #[unsafe(method(offset))]
1212 #[unsafe(method_family = none)]
1213 pub unsafe fn offset(&self) -> NSPoint;
1214
1215 #[unsafe(method(isAbsoluteOffset))]
1216 #[unsafe(method_family = none)]
1217 pub unsafe fn isAbsoluteOffset(&self) -> bool;
1218
1219 #[unsafe(method(isFractionalOffset))]
1220 #[unsafe(method_family = none)]
1221 pub unsafe fn isFractionalOffset(&self) -> bool;
1222 );
1223}
1224
1225extern_protocol!(
1226 pub unsafe trait NSCollectionLayoutContainer: NSObjectProtocol + MainThreadOnly {
1228 #[unsafe(method(contentSize))]
1229 #[unsafe(method_family = none)]
1230 unsafe fn contentSize(&self) -> NSSize;
1231
1232 #[unsafe(method(effectiveContentSize))]
1233 #[unsafe(method_family = none)]
1234 unsafe fn effectiveContentSize(&self) -> NSSize;
1235
1236 #[cfg(feature = "objc2-core-foundation")]
1237 #[unsafe(method(contentInsets))]
1238 #[unsafe(method_family = none)]
1239 unsafe fn contentInsets(&self) -> NSDirectionalEdgeInsets;
1240
1241 #[cfg(feature = "objc2-core-foundation")]
1242 #[unsafe(method(effectiveContentInsets))]
1243 #[unsafe(method_family = none)]
1244 unsafe fn effectiveContentInsets(&self) -> NSDirectionalEdgeInsets;
1245 }
1246);
1247
1248extern_protocol!(
1249 pub unsafe trait NSCollectionLayoutEnvironment:
1251 NSObjectProtocol + MainThreadOnly
1252 {
1253 #[unsafe(method(container))]
1254 #[unsafe(method_family = none)]
1255 unsafe fn container(&self) -> Retained<ProtocolObject<dyn NSCollectionLayoutContainer>>;
1256 }
1257);
1258
1259extern_protocol!(
1260 pub unsafe trait NSCollectionLayoutVisibleItem:
1262 NSObjectProtocol + MainThreadOnly
1263 {
1264 #[cfg(feature = "objc2-core-foundation")]
1265 #[unsafe(method(alpha))]
1266 #[unsafe(method_family = none)]
1267 unsafe fn alpha(&self) -> CGFloat;
1268
1269 #[cfg(feature = "objc2-core-foundation")]
1270 #[unsafe(method(setAlpha:))]
1272 #[unsafe(method_family = none)]
1273 unsafe fn setAlpha(&self, alpha: CGFloat);
1274
1275 #[unsafe(method(zIndex))]
1276 #[unsafe(method_family = none)]
1277 unsafe fn zIndex(&self) -> NSInteger;
1278
1279 #[unsafe(method(setZIndex:))]
1281 #[unsafe(method_family = none)]
1282 unsafe fn setZIndex(&self, z_index: NSInteger);
1283
1284 #[unsafe(method(isHidden))]
1285 #[unsafe(method_family = none)]
1286 unsafe fn isHidden(&self) -> bool;
1287
1288 #[unsafe(method(setHidden:))]
1290 #[unsafe(method_family = none)]
1291 unsafe fn setHidden(&self, hidden: bool);
1292
1293 #[unsafe(method(center))]
1294 #[unsafe(method_family = none)]
1295 unsafe fn center(&self) -> NSPoint;
1296
1297 #[unsafe(method(setCenter:))]
1299 #[unsafe(method_family = none)]
1300 unsafe fn setCenter(&self, center: NSPoint);
1301
1302 #[unsafe(method(name))]
1303 #[unsafe(method_family = none)]
1304 unsafe fn name(&self) -> Retained<NSString>;
1305
1306 #[unsafe(method(indexPath))]
1307 #[unsafe(method_family = none)]
1308 unsafe fn indexPath(&self) -> Retained<NSIndexPath>;
1309
1310 #[unsafe(method(frame))]
1311 #[unsafe(method_family = none)]
1312 unsafe fn frame(&self) -> NSRect;
1313
1314 #[unsafe(method(bounds))]
1315 #[unsafe(method_family = none)]
1316 unsafe fn bounds(&self) -> NSRect;
1317
1318 #[cfg(feature = "NSCollectionViewLayout")]
1319 #[unsafe(method(representedElementCategory))]
1320 #[unsafe(method_family = none)]
1321 unsafe fn representedElementCategory(&self) -> NSCollectionElementCategory;
1322
1323 #[unsafe(method(representedElementKind))]
1324 #[unsafe(method_family = none)]
1325 unsafe fn representedElementKind(&self) -> Option<Retained<NSString>>;
1326 }
1327);