use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
use objc2_app_kit::*;
use crate::*;
extern_protocol!(
pub unsafe trait PDFPageOverlayViewProvider: NSObjectProtocol {
#[cfg(all(feature = "PDFPage", feature = "PDFView", feature = "objc2-app-kit"))]
#[cfg(target_os = "macos")]
#[unsafe(method(pdfView:overlayViewForPage:))]
#[unsafe(method_family = none)]
unsafe fn pdfView_overlayViewForPage(
&self,
view: &PDFView,
page: &PDFPage,
) -> Option<Retained<NSView>>;
#[cfg(all(feature = "PDFPage", feature = "PDFView", feature = "objc2-app-kit"))]
#[cfg(target_os = "macos")]
#[optional]
#[unsafe(method(pdfView:willDisplayOverlayView:forPage:))]
#[unsafe(method_family = none)]
unsafe fn pdfView_willDisplayOverlayView_forPage(
&self,
pdf_view: &PDFView,
overlay_view: &NSView,
page: &PDFPage,
);
#[cfg(all(feature = "PDFPage", feature = "PDFView", feature = "objc2-app-kit"))]
#[cfg(target_os = "macos")]
#[optional]
#[unsafe(method(pdfView:willEndDisplayingOverlayView:forPage:))]
#[unsafe(method_family = none)]
unsafe fn pdfView_willEndDisplayingOverlayView_forPage(
&self,
pdf_view: &PDFView,
overlay_view: &NSView,
page: &PDFPage,
);
}
);