use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UITextDragPreviewRenderer;
unsafe impl ClassType for UITextDragPreviewRenderer {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for UITextDragPreviewRenderer {}
extern_methods!(
unsafe impl UITextDragPreviewRenderer {
#[cfg(feature = "NSLayoutManager")]
#[method_id(@__retain_semantics Init initWithLayoutManager:range:)]
pub unsafe fn initWithLayoutManager_range(
this: Allocated<Self>,
layout_manager: &NSLayoutManager,
range: NSRange,
) -> Retained<Self>;
#[cfg(feature = "NSLayoutManager")]
#[method_id(@__retain_semantics Init initWithLayoutManager:range:unifyRects:)]
pub unsafe fn initWithLayoutManager_range_unifyRects(
this: Allocated<Self>,
layout_manager: &NSLayoutManager,
range: NSRange,
unify_rects: bool,
) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[cfg(feature = "NSLayoutManager")]
#[method_id(@__retain_semantics Other layoutManager)]
pub unsafe fn layoutManager(&self) -> Retained<NSLayoutManager>;
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other image)]
pub unsafe fn image(&self) -> Retained<UIImage>;
#[method(firstLineRect)]
pub unsafe fn firstLineRect(&self) -> CGRect;
#[method(bodyRect)]
pub unsafe fn bodyRect(&self) -> CGRect;
#[method(lastLineRect)]
pub unsafe fn lastLineRect(&self) -> CGRect;
#[method(adjustFirstLineRect:bodyRect:lastLineRect:textOrigin:)]
pub unsafe fn adjustFirstLineRect_bodyRect_lastLineRect_textOrigin(
&self,
first_line_rect: NonNull<CGRect>,
body_rect: NonNull<CGRect>,
last_line_rect: NonNull<CGRect>,
origin: CGPoint,
);
}
);