use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UIPointerRegion;
unsafe impl ClassType for UIPointerRegion {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSCopying for UIPointerRegion {}
unsafe impl NSObjectProtocol for UIPointerRegion {}
extern_methods!(
unsafe impl UIPointerRegion {
#[method(rect)]
pub unsafe fn rect(&self) -> CGRect;
#[method_id(@__retain_semantics Other identifier)]
pub unsafe fn identifier(&self) -> Option<Retained<NSObject>>;
#[cfg(feature = "UIGeometry")]
#[method(latchingAxes)]
pub unsafe fn latchingAxes(&self) -> UIAxis;
#[cfg(feature = "UIGeometry")]
#[method(setLatchingAxes:)]
pub unsafe fn setLatchingAxes(&self, latching_axes: UIAxis);
#[method_id(@__retain_semantics Other regionWithRect:identifier:)]
pub unsafe fn regionWithRect_identifier(
rect: CGRect,
identifier: Option<&NSObject>,
mtm: MainThreadMarker,
) -> Retained<Self>;
#[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>;
}
);