use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;
ns_options!(
#[underlying(NSUInteger)]
pub enum NSDirectionalRectEdge {
NSDirectionalRectEdgeNone = 0,
NSDirectionalRectEdgeTop = 1 << 0,
NSDirectionalRectEdgeLeading = 1 << 1,
NSDirectionalRectEdgeBottom = 1 << 2,
NSDirectionalRectEdgeTrailing = 1 << 3,
NSDirectionalRectEdgeAll = NSDirectionalRectEdgeTop
| NSDirectionalRectEdgeLeading
| NSDirectionalRectEdgeBottom
| NSDirectionalRectEdgeTrailing,
}
);
extern_struct!(
pub struct NSDirectionalEdgeInsets {
pub top: CGFloat,
pub leading: CGFloat,
pub bottom: CGFloat,
pub trailing: CGFloat,
}
);
unsafe impl Send for NSDirectionalEdgeInsets {}
unsafe impl Sync for NSDirectionalEdgeInsets {}
extern_static!(NSDirectionalEdgeInsetsZero: NSDirectionalEdgeInsets);
ns_enum!(
#[underlying(NSInteger)]
pub enum NSRectAlignment {
NSRectAlignmentNone = 0,
NSRectAlignmentTop = 1,
NSRectAlignmentTopLeading = 2,
NSRectAlignmentLeading = 3,
NSRectAlignmentBottomLeading = 4,
NSRectAlignmentBottom = 5,
NSRectAlignmentBottomTrailing = 6,
NSRectAlignmentTrailing = 7,
NSRectAlignmentTopTrailing = 8,
}
);
inline_fn!(
pub unsafe fn NSDirectionalEdgeInsetsMake(
top: CGFloat,
leading: CGFloat,
bottom: CGFloat,
trailing: CGFloat,
) -> NSDirectionalEdgeInsets {
todo!()
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
pub struct NSCollectionViewCompositionalLayoutConfiguration;
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
unsafe impl ClassType for NSCollectionViewCompositionalLayoutConfiguration {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
unsafe impl NSCopying for NSCollectionViewCompositionalLayoutConfiguration {}
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
unsafe impl NSObjectProtocol for NSCollectionViewCompositionalLayoutConfiguration {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
unsafe impl NSCollectionViewCompositionalLayoutConfiguration {
#[method(scrollDirection)]
pub unsafe fn scrollDirection(&self) -> NSCollectionViewScrollDirection;
#[method(setScrollDirection:)]
pub unsafe fn setScrollDirection(&self, scroll_direction: NSCollectionViewScrollDirection);
#[method(interSectionSpacing)]
pub unsafe fn interSectionSpacing(&self) -> CGFloat;
#[method(setInterSectionSpacing:)]
pub unsafe fn setInterSectionSpacing(&self, inter_section_spacing: CGFloat);
#[cfg(all(
feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other boundarySupplementaryItems)]
pub unsafe fn boundarySupplementaryItems(
&self,
) -> Id<NSArray<NSCollectionLayoutBoundarySupplementaryItem>>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method(setBoundarySupplementaryItems:)]
pub unsafe fn setBoundarySupplementaryItems(
&self,
boundary_supplementary_items: &NSArray<NSCollectionLayoutBoundarySupplementaryItem>,
);
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
unsafe impl NSCollectionViewCompositionalLayoutConfiguration {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
pub type NSCollectionViewCompositionalLayoutSectionProvider = *mut Block<
(
NSInteger,
NonNull<ProtocolObject<dyn NSCollectionLayoutEnvironment>>,
),
*mut NSCollectionLayoutSection,
>;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayout")]
pub struct NSCollectionViewCompositionalLayout;
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayout")]
unsafe impl ClassType for NSCollectionViewCompositionalLayout {
#[inherits(NSObject)]
type Super = NSCollectionViewLayout;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayout")]
unsafe impl NSCoding for NSCollectionViewCompositionalLayout {}
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayout")]
unsafe impl NSObjectProtocol for NSCollectionViewCompositionalLayout {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayout")]
unsafe impl NSCollectionViewCompositionalLayout {
#[cfg(feature = "AppKit_NSCollectionLayoutSection")]
#[method_id(@__retain_semantics Init initWithSection:)]
pub unsafe fn initWithSection(
this: Allocated<Self>,
section: &NSCollectionLayoutSection,
) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSection",
feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration"
))]
#[method_id(@__retain_semantics Init initWithSection:configuration:)]
pub unsafe fn initWithSection_configuration(
this: Allocated<Self>,
section: &NSCollectionLayoutSection,
configuration: &NSCollectionViewCompositionalLayoutConfiguration,
) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithSectionProvider:)]
pub unsafe fn initWithSectionProvider(
this: Allocated<Self>,
section_provider: NSCollectionViewCompositionalLayoutSectionProvider,
) -> Id<Self>;
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
#[method_id(@__retain_semantics Init initWithSectionProvider:configuration:)]
pub unsafe fn initWithSectionProvider_configuration(
this: Allocated<Self>,
section_provider: NSCollectionViewCompositionalLayoutSectionProvider,
configuration: &NSCollectionViewCompositionalLayoutConfiguration,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
#[method_id(@__retain_semantics Other configuration)]
pub unsafe fn configuration(&self) -> Id<NSCollectionViewCompositionalLayoutConfiguration>;
#[cfg(feature = "AppKit_NSCollectionViewCompositionalLayoutConfiguration")]
#[method(setConfiguration:)]
pub unsafe fn setConfiguration(
&self,
configuration: &NSCollectionViewCompositionalLayoutConfiguration,
);
}
);
ns_enum!(
#[underlying(NSInteger)]
pub enum NSCollectionLayoutSectionOrthogonalScrollingBehavior {
NSCollectionLayoutSectionOrthogonalScrollingBehaviorNone = 0,
NSCollectionLayoutSectionOrthogonalScrollingBehaviorContinuous = 1,
NSCollectionLayoutSectionOrthogonalScrollingBehaviorContinuousGroupLeadingBoundary = 2,
NSCollectionLayoutSectionOrthogonalScrollingBehaviorPaging = 3,
NSCollectionLayoutSectionOrthogonalScrollingBehaviorGroupPaging = 4,
NSCollectionLayoutSectionOrthogonalScrollingBehaviorGroupPagingCentered = 5,
}
);
pub type NSCollectionLayoutSectionVisibleItemsInvalidationHandler = *mut Block<
(
NonNull<NSArray<ProtocolObject<dyn NSCollectionLayoutVisibleItem>>>,
NSPoint,
NonNull<ProtocolObject<dyn NSCollectionLayoutEnvironment>>,
),
(),
>;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutSection")]
pub struct NSCollectionLayoutSection;
#[cfg(feature = "AppKit_NSCollectionLayoutSection")]
unsafe impl ClassType for NSCollectionLayoutSection {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutSection")]
unsafe impl NSCopying for NSCollectionLayoutSection {}
#[cfg(feature = "AppKit_NSCollectionLayoutSection")]
unsafe impl NSObjectProtocol for NSCollectionLayoutSection {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutSection")]
unsafe impl NSCollectionLayoutSection {
#[cfg(feature = "AppKit_NSCollectionLayoutGroup")]
#[method_id(@__retain_semantics Other sectionWithGroup:)]
pub unsafe fn sectionWithGroup(group: &NSCollectionLayoutGroup) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(contentInsets)]
pub unsafe fn contentInsets(&self) -> NSDirectionalEdgeInsets;
#[method(setContentInsets:)]
pub unsafe fn setContentInsets(&self, content_insets: NSDirectionalEdgeInsets);
#[method(interGroupSpacing)]
pub unsafe fn interGroupSpacing(&self) -> CGFloat;
#[method(setInterGroupSpacing:)]
pub unsafe fn setInterGroupSpacing(&self, inter_group_spacing: CGFloat);
#[method(orthogonalScrollingBehavior)]
pub unsafe fn orthogonalScrollingBehavior(
&self,
) -> NSCollectionLayoutSectionOrthogonalScrollingBehavior;
#[method(setOrthogonalScrollingBehavior:)]
pub unsafe fn setOrthogonalScrollingBehavior(
&self,
orthogonal_scrolling_behavior: NSCollectionLayoutSectionOrthogonalScrollingBehavior,
);
#[cfg(all(
feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other boundarySupplementaryItems)]
pub unsafe fn boundarySupplementaryItems(
&self,
) -> Id<NSArray<NSCollectionLayoutBoundarySupplementaryItem>>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method(setBoundarySupplementaryItems:)]
pub unsafe fn setBoundarySupplementaryItems(
&self,
boundary_supplementary_items: &NSArray<NSCollectionLayoutBoundarySupplementaryItem>,
);
#[method(supplementariesFollowContentInsets)]
pub unsafe fn supplementariesFollowContentInsets(&self) -> bool;
#[method(setSupplementariesFollowContentInsets:)]
pub unsafe fn setSupplementariesFollowContentInsets(
&self,
supplementaries_follow_content_insets: bool,
);
#[method(visibleItemsInvalidationHandler)]
pub unsafe fn visibleItemsInvalidationHandler(
&self,
) -> NSCollectionLayoutSectionVisibleItemsInvalidationHandler;
#[method(setVisibleItemsInvalidationHandler:)]
pub unsafe fn setVisibleItemsInvalidationHandler(
&self,
visible_items_invalidation_handler: NSCollectionLayoutSectionVisibleItemsInvalidationHandler,
);
#[cfg(all(
feature = "AppKit_NSCollectionLayoutDecorationItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other decorationItems)]
pub unsafe fn decorationItems(&self) -> Id<NSArray<NSCollectionLayoutDecorationItem>>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutDecorationItem",
feature = "Foundation_NSArray"
))]
#[method(setDecorationItems:)]
pub unsafe fn setDecorationItems(
&self,
decoration_items: &NSArray<NSCollectionLayoutDecorationItem>,
);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutItem")]
pub struct NSCollectionLayoutItem;
#[cfg(feature = "AppKit_NSCollectionLayoutItem")]
unsafe impl ClassType for NSCollectionLayoutItem {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutItem")]
unsafe impl NSCopying for NSCollectionLayoutItem {}
#[cfg(feature = "AppKit_NSCollectionLayoutItem")]
unsafe impl NSObjectProtocol for NSCollectionLayoutItem {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutItem")]
unsafe impl NSCollectionLayoutItem {
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other itemWithLayoutSize:)]
pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "AppKit_NSCollectionLayoutSupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other itemWithLayoutSize:supplementaryItems:)]
pub unsafe fn itemWithLayoutSize_supplementaryItems(
layout_size: &NSCollectionLayoutSize,
supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(contentInsets)]
pub unsafe fn contentInsets(&self) -> NSDirectionalEdgeInsets;
#[method(setContentInsets:)]
pub unsafe fn setContentInsets(&self, content_insets: NSDirectionalEdgeInsets);
#[cfg(feature = "AppKit_NSCollectionLayoutEdgeSpacing")]
#[method_id(@__retain_semantics Other edgeSpacing)]
pub unsafe fn edgeSpacing(&self) -> Option<Id<NSCollectionLayoutEdgeSpacing>>;
#[cfg(feature = "AppKit_NSCollectionLayoutEdgeSpacing")]
#[method(setEdgeSpacing:)]
pub unsafe fn setEdgeSpacing(&self, edge_spacing: Option<&NSCollectionLayoutEdgeSpacing>);
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other layoutSize)]
pub unsafe fn layoutSize(&self) -> Id<NSCollectionLayoutSize>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other supplementaryItems)]
pub unsafe fn supplementaryItems(&self)
-> Id<NSArray<NSCollectionLayoutSupplementaryItem>>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutGroupCustomItem")]
pub struct NSCollectionLayoutGroupCustomItem;
#[cfg(feature = "AppKit_NSCollectionLayoutGroupCustomItem")]
unsafe impl ClassType for NSCollectionLayoutGroupCustomItem {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutGroupCustomItem")]
unsafe impl NSCopying for NSCollectionLayoutGroupCustomItem {}
#[cfg(feature = "AppKit_NSCollectionLayoutGroupCustomItem")]
unsafe impl NSObjectProtocol for NSCollectionLayoutGroupCustomItem {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutGroupCustomItem")]
unsafe impl NSCollectionLayoutGroupCustomItem {
#[method_id(@__retain_semantics Other customItemWithFrame:)]
pub unsafe fn customItemWithFrame(frame: NSRect) -> Id<Self>;
#[method_id(@__retain_semantics Other customItemWithFrame:zIndex:)]
pub unsafe fn customItemWithFrame_zIndex(frame: NSRect, z_index: NSInteger) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(frame)]
pub unsafe fn frame(&self) -> NSRect;
#[method(zIndex)]
pub unsafe fn zIndex(&self) -> NSInteger;
}
);
pub type NSCollectionLayoutGroupCustomItemProvider = *mut Block<
(NonNull<ProtocolObject<dyn NSCollectionLayoutEnvironment>>,),
NonNull<NSArray<NSCollectionLayoutGroupCustomItem>>,
>;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutGroup")]
pub struct NSCollectionLayoutGroup;
#[cfg(feature = "AppKit_NSCollectionLayoutGroup")]
unsafe impl ClassType for NSCollectionLayoutGroup {
#[inherits(NSObject)]
type Super = NSCollectionLayoutItem;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutGroup")]
unsafe impl NSCopying for NSCollectionLayoutGroup {}
#[cfg(feature = "AppKit_NSCollectionLayoutGroup")]
unsafe impl NSObjectProtocol for NSCollectionLayoutGroup {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutGroup")]
unsafe impl NSCollectionLayoutGroup {
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other horizontalGroupWithLayoutSize:subitem:count:)]
pub unsafe fn horizontalGroupWithLayoutSize_subitem_count(
layout_size: &NSCollectionLayoutSize,
subitem: &NSCollectionLayoutItem,
count: NSInteger,
) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other horizontalGroupWithLayoutSize:subitems:)]
pub unsafe fn horizontalGroupWithLayoutSize_subitems(
layout_size: &NSCollectionLayoutSize,
subitems: &NSArray<NSCollectionLayoutItem>,
) -> Id<Self>;
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other verticalGroupWithLayoutSize:subitem:count:)]
pub unsafe fn verticalGroupWithLayoutSize_subitem_count(
layout_size: &NSCollectionLayoutSize,
subitem: &NSCollectionLayoutItem,
count: NSInteger,
) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other verticalGroupWithLayoutSize:subitems:)]
pub unsafe fn verticalGroupWithLayoutSize_subitems(
layout_size: &NSCollectionLayoutSize,
subitems: &NSArray<NSCollectionLayoutItem>,
) -> Id<Self>;
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other customGroupWithLayoutSize:itemProvider:)]
pub unsafe fn customGroupWithLayoutSize_itemProvider(
layout_size: &NSCollectionLayoutSize,
item_provider: NSCollectionLayoutGroupCustomItemProvider,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other supplementaryItems)]
pub unsafe fn supplementaryItems(&self)
-> Id<NSArray<NSCollectionLayoutSupplementaryItem>>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method(setSupplementaryItems:)]
pub unsafe fn setSupplementaryItems(
&self,
supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
);
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
#[method_id(@__retain_semantics Other interItemSpacing)]
pub unsafe fn interItemSpacing(&self) -> Option<Id<NSCollectionLayoutSpacing>>;
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
#[method(setInterItemSpacing:)]
pub unsafe fn setInterItemSpacing(
&self,
inter_item_spacing: Option<&NSCollectionLayoutSpacing>,
);
#[cfg(feature = "Foundation_NSArray")]
#[method_id(@__retain_semantics Other subitems)]
pub unsafe fn subitems(&self) -> Id<NSArray<NSCollectionLayoutItem>>;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other visualDescription)]
pub unsafe fn visualDescription(&self) -> Id<NSString>;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutGroup")]
unsafe impl NSCollectionLayoutGroup {
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other itemWithLayoutSize:)]
pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "AppKit_NSCollectionLayoutSupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other itemWithLayoutSize:supplementaryItems:)]
pub unsafe fn itemWithLayoutSize_supplementaryItems(
layout_size: &NSCollectionLayoutSize,
supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
) -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
pub struct NSCollectionLayoutDimension;
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
unsafe impl ClassType for NSCollectionLayoutDimension {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
unsafe impl NSCopying for NSCollectionLayoutDimension {}
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
unsafe impl NSObjectProtocol for NSCollectionLayoutDimension {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
unsafe impl NSCollectionLayoutDimension {
#[method_id(@__retain_semantics Other fractionalWidthDimension:)]
pub unsafe fn fractionalWidthDimension(fractional_width: CGFloat) -> Id<Self>;
#[method_id(@__retain_semantics Other fractionalHeightDimension:)]
pub unsafe fn fractionalHeightDimension(fractional_height: CGFloat) -> Id<Self>;
#[method_id(@__retain_semantics Other absoluteDimension:)]
pub unsafe fn absoluteDimension(absolute_dimension: CGFloat) -> Id<Self>;
#[method_id(@__retain_semantics Other estimatedDimension:)]
pub unsafe fn estimatedDimension(estimated_dimension: CGFloat) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(isFractionalWidth)]
pub unsafe fn isFractionalWidth(&self) -> bool;
#[method(isFractionalHeight)]
pub unsafe fn isFractionalHeight(&self) -> bool;
#[method(isAbsolute)]
pub unsafe fn isAbsolute(&self) -> bool;
#[method(isEstimated)]
pub unsafe fn isEstimated(&self) -> bool;
#[method(dimension)]
pub unsafe fn dimension(&self) -> CGFloat;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
pub struct NSCollectionLayoutSize;
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
unsafe impl ClassType for NSCollectionLayoutSize {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
unsafe impl NSCopying for NSCollectionLayoutSize {}
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
unsafe impl NSObjectProtocol for NSCollectionLayoutSize {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
unsafe impl NSCollectionLayoutSize {
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
#[method_id(@__retain_semantics Other sizeWithWidthDimension:heightDimension:)]
pub unsafe fn sizeWithWidthDimension_heightDimension(
width: &NSCollectionLayoutDimension,
height: &NSCollectionLayoutDimension,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
#[method_id(@__retain_semantics Other widthDimension)]
pub unsafe fn widthDimension(&self) -> Id<NSCollectionLayoutDimension>;
#[cfg(feature = "AppKit_NSCollectionLayoutDimension")]
#[method_id(@__retain_semantics Other heightDimension)]
pub unsafe fn heightDimension(&self) -> Id<NSCollectionLayoutDimension>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
pub struct NSCollectionLayoutSpacing;
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
unsafe impl ClassType for NSCollectionLayoutSpacing {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
unsafe impl NSCopying for NSCollectionLayoutSpacing {}
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
unsafe impl NSObjectProtocol for NSCollectionLayoutSpacing {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
unsafe impl NSCollectionLayoutSpacing {
#[method_id(@__retain_semantics Other flexibleSpacing:)]
pub unsafe fn flexibleSpacing(flexible_spacing: CGFloat) -> Id<Self>;
#[method_id(@__retain_semantics Other fixedSpacing:)]
pub unsafe fn fixedSpacing(fixed_spacing: CGFloat) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(spacing)]
pub unsafe fn spacing(&self) -> CGFloat;
#[method(isFlexibleSpacing)]
pub unsafe fn isFlexibleSpacing(&self) -> bool;
#[method(isFixedSpacing)]
pub unsafe fn isFixedSpacing(&self) -> bool;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutEdgeSpacing")]
pub struct NSCollectionLayoutEdgeSpacing;
#[cfg(feature = "AppKit_NSCollectionLayoutEdgeSpacing")]
unsafe impl ClassType for NSCollectionLayoutEdgeSpacing {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutEdgeSpacing")]
unsafe impl NSCopying for NSCollectionLayoutEdgeSpacing {}
#[cfg(feature = "AppKit_NSCollectionLayoutEdgeSpacing")]
unsafe impl NSObjectProtocol for NSCollectionLayoutEdgeSpacing {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutEdgeSpacing")]
unsafe impl NSCollectionLayoutEdgeSpacing {
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
#[method_id(@__retain_semantics Other spacingForLeading:top:trailing:bottom:)]
pub unsafe fn spacingForLeading_top_trailing_bottom(
leading: Option<&NSCollectionLayoutSpacing>,
top: Option<&NSCollectionLayoutSpacing>,
trailing: Option<&NSCollectionLayoutSpacing>,
bottom: Option<&NSCollectionLayoutSpacing>,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
#[method_id(@__retain_semantics Other leading)]
pub unsafe fn leading(&self) -> Option<Id<NSCollectionLayoutSpacing>>;
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
#[method_id(@__retain_semantics Other top)]
pub unsafe fn top(&self) -> Option<Id<NSCollectionLayoutSpacing>>;
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
#[method_id(@__retain_semantics Other trailing)]
pub unsafe fn trailing(&self) -> Option<Id<NSCollectionLayoutSpacing>>;
#[cfg(feature = "AppKit_NSCollectionLayoutSpacing")]
#[method_id(@__retain_semantics Other bottom)]
pub unsafe fn bottom(&self) -> Option<Id<NSCollectionLayoutSpacing>>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutSupplementaryItem")]
pub struct NSCollectionLayoutSupplementaryItem;
#[cfg(feature = "AppKit_NSCollectionLayoutSupplementaryItem")]
unsafe impl ClassType for NSCollectionLayoutSupplementaryItem {
#[inherits(NSObject)]
type Super = NSCollectionLayoutItem;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutSupplementaryItem")]
unsafe impl NSCopying for NSCollectionLayoutSupplementaryItem {}
#[cfg(feature = "AppKit_NSCollectionLayoutSupplementaryItem")]
unsafe impl NSObjectProtocol for NSCollectionLayoutSupplementaryItem {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutSupplementaryItem")]
unsafe impl NSCollectionLayoutSupplementaryItem {
#[cfg(all(
feature = "AppKit_NSCollectionLayoutAnchor",
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSString"
))]
#[method_id(@__retain_semantics Other supplementaryItemWithLayoutSize:elementKind:containerAnchor:)]
pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor(
layout_size: &NSCollectionLayoutSize,
element_kind: &NSString,
container_anchor: &NSCollectionLayoutAnchor,
) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutAnchor",
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSString"
))]
#[method_id(@__retain_semantics Other supplementaryItemWithLayoutSize:elementKind:containerAnchor:itemAnchor:)]
pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor_itemAnchor(
layout_size: &NSCollectionLayoutSize,
element_kind: &NSString,
container_anchor: &NSCollectionLayoutAnchor,
item_anchor: &NSCollectionLayoutAnchor,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(zIndex)]
pub unsafe fn zIndex(&self) -> NSInteger;
#[method(setZIndex:)]
pub unsafe fn setZIndex(&self, z_index: NSInteger);
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other elementKind)]
pub unsafe fn elementKind(&self) -> Id<NSString>;
#[cfg(feature = "AppKit_NSCollectionLayoutAnchor")]
#[method_id(@__retain_semantics Other containerAnchor)]
pub unsafe fn containerAnchor(&self) -> Id<NSCollectionLayoutAnchor>;
#[cfg(feature = "AppKit_NSCollectionLayoutAnchor")]
#[method_id(@__retain_semantics Other itemAnchor)]
pub unsafe fn itemAnchor(&self) -> Option<Id<NSCollectionLayoutAnchor>>;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutSupplementaryItem")]
unsafe impl NSCollectionLayoutSupplementaryItem {
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other itemWithLayoutSize:)]
pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other itemWithLayoutSize:supplementaryItems:)]
pub unsafe fn itemWithLayoutSize_supplementaryItems(
layout_size: &NSCollectionLayoutSize,
supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
) -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem")]
pub struct NSCollectionLayoutBoundarySupplementaryItem;
#[cfg(feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem")]
unsafe impl ClassType for NSCollectionLayoutBoundarySupplementaryItem {
#[inherits(NSCollectionLayoutItem, NSObject)]
type Super = NSCollectionLayoutSupplementaryItem;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem")]
unsafe impl NSCopying for NSCollectionLayoutBoundarySupplementaryItem {}
#[cfg(feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem")]
unsafe impl NSObjectProtocol for NSCollectionLayoutBoundarySupplementaryItem {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem")]
unsafe impl NSCollectionLayoutBoundarySupplementaryItem {
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSString"
))]
#[method_id(@__retain_semantics Other boundarySupplementaryItemWithLayoutSize:elementKind:alignment:)]
pub unsafe fn boundarySupplementaryItemWithLayoutSize_elementKind_alignment(
layout_size: &NSCollectionLayoutSize,
element_kind: &NSString,
alignment: NSRectAlignment,
) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSString"
))]
#[method_id(@__retain_semantics Other boundarySupplementaryItemWithLayoutSize:elementKind:alignment:absoluteOffset:)]
pub unsafe fn boundarySupplementaryItemWithLayoutSize_elementKind_alignment_absoluteOffset(
layout_size: &NSCollectionLayoutSize,
element_kind: &NSString,
alignment: NSRectAlignment,
absolute_offset: NSPoint,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(extendsBoundary)]
pub unsafe fn extendsBoundary(&self) -> bool;
#[method(setExtendsBoundary:)]
pub unsafe fn setExtendsBoundary(&self, extends_boundary: bool);
#[method(pinToVisibleBounds)]
pub unsafe fn pinToVisibleBounds(&self) -> bool;
#[method(setPinToVisibleBounds:)]
pub unsafe fn setPinToVisibleBounds(&self, pin_to_visible_bounds: bool);
#[method(alignment)]
pub unsafe fn alignment(&self) -> NSRectAlignment;
#[method(offset)]
pub unsafe fn offset(&self) -> NSPoint;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem")]
unsafe impl NSCollectionLayoutBoundarySupplementaryItem {
#[cfg(all(
feature = "AppKit_NSCollectionLayoutAnchor",
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSString"
))]
#[method_id(@__retain_semantics Other supplementaryItemWithLayoutSize:elementKind:containerAnchor:)]
pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor(
layout_size: &NSCollectionLayoutSize,
element_kind: &NSString,
container_anchor: &NSCollectionLayoutAnchor,
) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutAnchor",
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSString"
))]
#[method_id(@__retain_semantics Other supplementaryItemWithLayoutSize:elementKind:containerAnchor:itemAnchor:)]
pub unsafe fn supplementaryItemWithLayoutSize_elementKind_containerAnchor_itemAnchor(
layout_size: &NSCollectionLayoutSize,
element_kind: &NSString,
container_anchor: &NSCollectionLayoutAnchor,
item_anchor: &NSCollectionLayoutAnchor,
) -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutBoundarySupplementaryItem")]
unsafe impl NSCollectionLayoutBoundarySupplementaryItem {
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other itemWithLayoutSize:)]
pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other itemWithLayoutSize:supplementaryItems:)]
pub unsafe fn itemWithLayoutSize_supplementaryItems(
layout_size: &NSCollectionLayoutSize,
supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
) -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutDecorationItem")]
pub struct NSCollectionLayoutDecorationItem;
#[cfg(feature = "AppKit_NSCollectionLayoutDecorationItem")]
unsafe impl ClassType for NSCollectionLayoutDecorationItem {
#[inherits(NSObject)]
type Super = NSCollectionLayoutItem;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutDecorationItem")]
unsafe impl NSCopying for NSCollectionLayoutDecorationItem {}
#[cfg(feature = "AppKit_NSCollectionLayoutDecorationItem")]
unsafe impl NSObjectProtocol for NSCollectionLayoutDecorationItem {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutDecorationItem")]
unsafe impl NSCollectionLayoutDecorationItem {
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other backgroundDecorationItemWithElementKind:)]
pub unsafe fn backgroundDecorationItemWithElementKind(element_kind: &NSString) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(zIndex)]
pub unsafe fn zIndex(&self) -> NSInteger;
#[method(setZIndex:)]
pub unsafe fn setZIndex(&self, z_index: NSInteger);
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other elementKind)]
pub unsafe fn elementKind(&self) -> Id<NSString>;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutDecorationItem")]
unsafe impl NSCollectionLayoutDecorationItem {
#[cfg(feature = "AppKit_NSCollectionLayoutSize")]
#[method_id(@__retain_semantics Other itemWithLayoutSize:)]
pub unsafe fn itemWithLayoutSize(layout_size: &NSCollectionLayoutSize) -> Id<Self>;
#[cfg(all(
feature = "AppKit_NSCollectionLayoutSize",
feature = "AppKit_NSCollectionLayoutSupplementaryItem",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Other itemWithLayoutSize:supplementaryItems:)]
pub unsafe fn itemWithLayoutSize_supplementaryItems(
layout_size: &NSCollectionLayoutSize,
supplementary_items: &NSArray<NSCollectionLayoutSupplementaryItem>,
) -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSCollectionLayoutAnchor")]
pub struct NSCollectionLayoutAnchor;
#[cfg(feature = "AppKit_NSCollectionLayoutAnchor")]
unsafe impl ClassType for NSCollectionLayoutAnchor {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AppKit_NSCollectionLayoutAnchor")]
unsafe impl NSCopying for NSCollectionLayoutAnchor {}
#[cfg(feature = "AppKit_NSCollectionLayoutAnchor")]
unsafe impl NSObjectProtocol for NSCollectionLayoutAnchor {}
extern_methods!(
#[cfg(feature = "AppKit_NSCollectionLayoutAnchor")]
unsafe impl NSCollectionLayoutAnchor {
#[method_id(@__retain_semantics Other layoutAnchorWithEdges:)]
pub unsafe fn layoutAnchorWithEdges(edges: NSDirectionalRectEdge) -> Id<Self>;
#[method_id(@__retain_semantics Other layoutAnchorWithEdges:absoluteOffset:)]
pub unsafe fn layoutAnchorWithEdges_absoluteOffset(
edges: NSDirectionalRectEdge,
absolute_offset: NSPoint,
) -> Id<Self>;
#[method_id(@__retain_semantics Other layoutAnchorWithEdges:fractionalOffset:)]
pub unsafe fn layoutAnchorWithEdges_fractionalOffset(
edges: NSDirectionalRectEdge,
fractional_offset: NSPoint,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method(edges)]
pub unsafe fn edges(&self) -> NSDirectionalRectEdge;
#[method(offset)]
pub unsafe fn offset(&self) -> NSPoint;
#[method(isAbsoluteOffset)]
pub unsafe fn isAbsoluteOffset(&self) -> bool;
#[method(isFractionalOffset)]
pub unsafe fn isFractionalOffset(&self) -> bool;
}
);
extern_protocol!(
pub unsafe trait NSCollectionLayoutContainer: NSObjectProtocol {
#[method(contentSize)]
unsafe fn contentSize(&self) -> NSSize;
#[method(effectiveContentSize)]
unsafe fn effectiveContentSize(&self) -> NSSize;
#[method(contentInsets)]
unsafe fn contentInsets(&self) -> NSDirectionalEdgeInsets;
#[method(effectiveContentInsets)]
unsafe fn effectiveContentInsets(&self) -> NSDirectionalEdgeInsets;
}
unsafe impl ProtocolType for dyn NSCollectionLayoutContainer {}
);
extern_protocol!(
pub unsafe trait NSCollectionLayoutEnvironment: NSObjectProtocol {
#[method_id(@__retain_semantics Other container)]
unsafe fn container(&self) -> Id<ProtocolObject<dyn NSCollectionLayoutContainer>>;
}
unsafe impl ProtocolType for dyn NSCollectionLayoutEnvironment {}
);
extern_protocol!(
pub unsafe trait NSCollectionLayoutVisibleItem: NSObjectProtocol {
#[method(alpha)]
unsafe fn alpha(&self) -> CGFloat;
#[method(setAlpha:)]
unsafe fn setAlpha(&self, alpha: CGFloat);
#[method(zIndex)]
unsafe fn zIndex(&self) -> NSInteger;
#[method(setZIndex:)]
unsafe fn setZIndex(&self, z_index: NSInteger);
#[method(isHidden)]
unsafe fn isHidden(&self) -> bool;
#[method(setHidden:)]
unsafe fn setHidden(&self, hidden: bool);
#[method(center)]
unsafe fn center(&self) -> NSPoint;
#[method(setCenter:)]
unsafe fn setCenter(&self, center: NSPoint);
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other name)]
unsafe fn name(&self) -> Id<NSString>;
#[cfg(feature = "Foundation_NSIndexPath")]
#[method_id(@__retain_semantics Other indexPath)]
unsafe fn indexPath(&self) -> Id<NSIndexPath>;
#[method(frame)]
unsafe fn frame(&self) -> NSRect;
#[method(bounds)]
unsafe fn bounds(&self) -> NSRect;
#[method(representedElementCategory)]
unsafe fn representedElementCategory(&self) -> NSCollectionElementCategory;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other representedElementKind)]
unsafe fn representedElementKind(&self) -> Option<Id<NSString>>;
}
unsafe impl ProtocolType for dyn NSCollectionLayoutVisibleItem {}
);