use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct VZGraphicsDisplay;
unsafe impl ClassType for VZGraphicsDisplay {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for VZGraphicsDisplay {}
extern_methods!(
unsafe impl VZGraphicsDisplay {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method(sizeInPixels)]
pub unsafe fn sizeInPixels(&self) -> CGSize;
#[method(reconfigureWithSizeInPixels:error:_)]
pub unsafe fn reconfigureWithSizeInPixels_error(
&self,
size_in_pixels: CGSize,
) -> Result<(), Retained<NSError>>;
#[cfg(feature = "VZGraphicsDisplayConfiguration")]
#[method(reconfigureWithConfiguration:error:_)]
pub unsafe fn reconfigureWithConfiguration_error(
&self,
configuration: &VZGraphicsDisplayConfiguration,
) -> Result<(), Retained<NSError>>;
#[method(addObserver:)]
pub unsafe fn addObserver(&self, observer: &ProtocolObject<dyn VZGraphicsDisplayObserver>);
#[method(removeObserver:)]
pub unsafe fn removeObserver(
&self,
observer: &ProtocolObject<dyn VZGraphicsDisplayObserver>,
);
}
);
extern_protocol!(
pub unsafe trait VZGraphicsDisplayObserver: NSObjectProtocol {
#[optional]
#[method(displayDidBeginReconfiguration:)]
unsafe fn displayDidBeginReconfiguration(&self, display: &VZGraphicsDisplay);
#[optional]
#[method(displayDidEndReconfiguration:)]
unsafe fn displayDidEndReconfiguration(&self, display: &VZGraphicsDisplay);
}
unsafe impl ProtocolType for dyn VZGraphicsDisplayObserver {}
);