use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait UIPopoverPresentationControllerSourceItem: NSObjectProtocol {
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
#[method(frameInView:)]
unsafe fn frameInView(&self, reference_view: &UIView) -> CGRect;
}
unsafe impl ProtocolType for dyn UIPopoverPresentationControllerSourceItem {}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIView {}
);
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIPopoverPresentationControllerSourceItem for UIView {}
extern_methods!(
#[cfg(feature = "UILayoutGuide")]
unsafe impl UILayoutGuide {}
);
#[cfg(feature = "UILayoutGuide")]
unsafe impl UIPopoverPresentationControllerSourceItem for UILayoutGuide {}
extern_methods!(
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
unsafe impl UIBarButtonItem {}
);
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
unsafe impl UIPopoverPresentationControllerSourceItem for UIBarButtonItem {}
extern_methods!(
#[cfg(all(feature = "UIBarItem", feature = "UITabBarItem"))]
unsafe impl UITabBarItem {}
);
#[cfg(all(feature = "UIBarItem", feature = "UITabBarItem"))]
unsafe impl UIPopoverPresentationControllerSourceItem for UITabBarItem {}