use objc2::__framework_prelude::*;
use objc2_foundation::*;
#[cfg(feature = "objc2-quartz-core")]
#[cfg(not(target_os = "watchos"))]
use objc2_quartz_core::*;
use crate::*;
extern_protocol!(
pub unsafe trait UIPopoverBackgroundViewMethods {
#[method(arrowBase)]
unsafe fn arrowBase() -> CGFloat;
#[cfg(feature = "UIGeometry")]
#[method(contentViewInsets)]
unsafe fn contentViewInsets() -> UIEdgeInsets;
#[method(arrowHeight)]
unsafe fn arrowHeight() -> CGFloat;
}
unsafe impl ProtocolType for dyn UIPopoverBackgroundViewMethods {}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
pub struct UIPopoverBackgroundView;
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl ClassType for UIPopoverBackgroundView {
#[inherits(UIResponder, NSObject)]
type Super = UIView;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(
feature = "UIResponder",
feature = "UIView",
feature = "objc2-quartz-core"
))]
#[cfg(not(target_os = "watchos"))]
unsafe impl CALayerDelegate for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl NSCoding for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl NSObjectProtocol for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIAppearance", feature = "UIResponder", feature = "UIView"))]
unsafe impl UIAppearance for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIAppearance", feature = "UIResponder", feature = "UIView"))]
unsafe impl UIAppearanceContainer for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UICoordinateSpace for UIPopoverBackgroundView {}
#[cfg(all(
feature = "UIDynamicBehavior",
feature = "UIResponder",
feature = "UIView"
))]
unsafe impl UIDynamicItem for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIFocus", feature = "UIResponder", feature = "UIView"))]
unsafe impl UIFocusEnvironment for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIFocus", feature = "UIResponder", feature = "UIView"))]
unsafe impl UIFocusItem for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIFocus", feature = "UIResponder", feature = "UIView"))]
unsafe impl UIFocusItemContainer for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIPopoverBackgroundViewMethods for UIPopoverBackgroundView {}
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIResponderStandardEditActions for UIPopoverBackgroundView {}
#[cfg(all(
feature = "UIResponder",
feature = "UITraitCollection",
feature = "UIView"
))]
unsafe impl UITraitEnvironment for UIPopoverBackgroundView {}
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIPopoverBackgroundView {
#[method(arrowOffset)]
pub unsafe fn arrowOffset(&self) -> CGFloat;
#[method(setArrowOffset:)]
pub unsafe fn setArrowOffset(&self, arrow_offset: CGFloat);
#[cfg(feature = "UIPopoverSupport")]
#[method(arrowDirection)]
pub unsafe fn arrowDirection(&self) -> UIPopoverArrowDirection;
#[cfg(feature = "UIPopoverSupport")]
#[method(setArrowDirection:)]
pub unsafe fn setArrowDirection(&self, arrow_direction: UIPopoverArrowDirection);
#[deprecated = "No longer supported"]
#[method(wantsDefaultContentAppearance)]
pub unsafe fn wantsDefaultContentAppearance(mtm: MainThreadMarker) -> bool;
}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIPopoverBackgroundView {
#[method_id(@__retain_semantics Init initWithFrame:)]
pub unsafe fn initWithFrame(this: Allocated<Self>, frame: CGRect) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIPopoverBackgroundView {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);