use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIListSeparatorVisibility(pub NSInteger);
impl UIListSeparatorVisibility {
#[doc(alias = "UIListSeparatorVisibilityAutomatic")]
pub const Automatic: Self = Self(0);
#[doc(alias = "UIListSeparatorVisibilityVisible")]
pub const Visible: Self = Self(1);
#[doc(alias = "UIListSeparatorVisibilityHidden")]
pub const Hidden: Self = Self(2);
}
unsafe impl Encode for UIListSeparatorVisibility {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for UIListSeparatorVisibility {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern "C" {
#[cfg(all(feature = "UIGeometry", feature = "objc2-core-foundation"))]
pub static UIListSeparatorAutomaticInsets: NSDirectionalEdgeInsets;
}
extern_class!(
#[unsafe(super(NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UIListSeparatorConfiguration;
);
extern_conformance!(
unsafe impl NSCoding for UIListSeparatorConfiguration {}
);
extern_conformance!(
unsafe impl NSCopying for UIListSeparatorConfiguration {}
);
unsafe impl CopyingHelper for UIListSeparatorConfiguration {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UIListSeparatorConfiguration {}
);
extern_conformance!(
unsafe impl NSSecureCoding for UIListSeparatorConfiguration {}
);
impl UIListSeparatorConfiguration {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
#[cfg(feature = "UICollectionLayoutList")]
#[unsafe(method(initWithListAppearance:))]
#[unsafe(method_family = init)]
pub fn initWithListAppearance(
this: Allocated<Self>,
list_appearance: UICollectionLayoutListAppearance,
) -> Retained<Self>;
#[unsafe(method(topSeparatorVisibility))]
#[unsafe(method_family = none)]
pub fn topSeparatorVisibility(&self) -> UIListSeparatorVisibility;
#[unsafe(method(setTopSeparatorVisibility:))]
#[unsafe(method_family = none)]
pub fn setTopSeparatorVisibility(
&self,
top_separator_visibility: UIListSeparatorVisibility,
);
#[unsafe(method(bottomSeparatorVisibility))]
#[unsafe(method_family = none)]
pub fn bottomSeparatorVisibility(&self) -> UIListSeparatorVisibility;
#[unsafe(method(setBottomSeparatorVisibility:))]
#[unsafe(method_family = none)]
pub fn setBottomSeparatorVisibility(
&self,
bottom_separator_visibility: UIListSeparatorVisibility,
);
#[cfg(all(feature = "UIGeometry", feature = "objc2-core-foundation"))]
#[unsafe(method(topSeparatorInsets))]
#[unsafe(method_family = none)]
pub fn topSeparatorInsets(&self) -> NSDirectionalEdgeInsets;
#[cfg(all(feature = "UIGeometry", feature = "objc2-core-foundation"))]
#[unsafe(method(setTopSeparatorInsets:))]
#[unsafe(method_family = none)]
pub fn setTopSeparatorInsets(&self, top_separator_insets: NSDirectionalEdgeInsets);
#[cfg(all(feature = "UIGeometry", feature = "objc2-core-foundation"))]
#[unsafe(method(bottomSeparatorInsets))]
#[unsafe(method_family = none)]
pub fn bottomSeparatorInsets(&self) -> NSDirectionalEdgeInsets;
#[cfg(all(feature = "UIGeometry", feature = "objc2-core-foundation"))]
#[unsafe(method(setBottomSeparatorInsets:))]
#[unsafe(method_family = none)]
pub fn setBottomSeparatorInsets(&self, bottom_separator_insets: NSDirectionalEdgeInsets);
#[cfg(feature = "UIColor")]
#[unsafe(method(color))]
#[unsafe(method_family = none)]
pub fn color(&self) -> Retained<UIColor>;
#[cfg(feature = "UIColor")]
#[unsafe(method(setColor:))]
#[unsafe(method_family = none)]
pub fn setColor(&self, color: &UIColor);
#[cfg(feature = "UIColor")]
#[unsafe(method(multipleSelectionColor))]
#[unsafe(method_family = none)]
pub fn multipleSelectionColor(&self) -> Retained<UIColor>;
#[cfg(feature = "UIColor")]
#[unsafe(method(setMultipleSelectionColor:))]
#[unsafe(method_family = none)]
pub fn setMultipleSelectionColor(&self, multiple_selection_color: &UIColor);
#[cfg(feature = "UIVisualEffect")]
#[unsafe(method(visualEffect))]
#[unsafe(method_family = none)]
pub fn visualEffect(&self) -> Option<Retained<UIVisualEffect>>;
#[cfg(feature = "UIVisualEffect")]
#[unsafe(method(setVisualEffect:))]
#[unsafe(method_family = none)]
pub fn setVisualEffect(&self, visual_effect: Option<&UIVisualEffect>);
);
}