use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSScrollElasticity(pub NSInteger);
impl NSScrollElasticity {
#[doc(alias = "NSScrollElasticityAutomatic")]
pub const Automatic: Self = Self(0);
#[doc(alias = "NSScrollElasticityNone")]
pub const None: Self = Self(1);
#[doc(alias = "NSScrollElasticityAllowed")]
pub const Allowed: Self = Self(2);
}
unsafe impl Encode for NSScrollElasticity {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSScrollElasticity {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(NSView, NSResponder, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
pub struct NSScrollView;
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSAccessibility for NSScrollView {}
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSAccessibilityElementProtocol for NSScrollView {}
);
#[cfg(all(feature = "NSAnimation", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSAnimatablePropertyContainer for NSScrollView {}
);
#[cfg(all(feature = "NSAppearance", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSAppearanceCustomization for NSScrollView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSCoding for NSScrollView {}
);
#[cfg(all(feature = "NSDragging", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSDraggingDestination for NSScrollView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSObjectProtocol for NSScrollView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSTextFinder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSTextFinderBarContainer for NSScrollView {}
);
#[cfg(all(
feature = "NSResponder",
feature = "NSUserInterfaceItemIdentification",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSUserInterfaceItemIdentification for NSScrollView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSScrollView {
extern_methods!(
#[unsafe(method(initWithFrame:))]
#[unsafe(method_family = init)]
pub fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[cfg(all(feature = "NSCell", feature = "NSScroller"))]
#[unsafe(method(frameSizeForContentSize:horizontalScrollerClass:verticalScrollerClass:borderType:controlSize:scrollerStyle:))]
#[unsafe(method_family = none)]
pub unsafe fn frameSizeForContentSize_horizontalScrollerClass_verticalScrollerClass_borderType_controlSize_scrollerStyle(
c_size: NSSize,
horizontal_scroller_class: Option<&AnyClass>,
vertical_scroller_class: Option<&AnyClass>,
r#type: NSBorderType,
control_size: NSControlSize,
scroller_style: NSScrollerStyle,
mtm: MainThreadMarker,
) -> NSSize;
#[cfg(all(feature = "NSCell", feature = "NSScroller"))]
#[unsafe(method(contentSizeForFrameSize:horizontalScrollerClass:verticalScrollerClass:borderType:controlSize:scrollerStyle:))]
#[unsafe(method_family = none)]
pub unsafe fn contentSizeForFrameSize_horizontalScrollerClass_verticalScrollerClass_borderType_controlSize_scrollerStyle(
f_size: NSSize,
horizontal_scroller_class: Option<&AnyClass>,
vertical_scroller_class: Option<&AnyClass>,
r#type: NSBorderType,
control_size: NSControlSize,
scroller_style: NSScrollerStyle,
mtm: MainThreadMarker,
) -> NSSize;
#[deprecated = "Use +frameSizeForContentSize:horizontalScrollerClass:verticalScrollerClass:borderType:controlSize:scrollerStyle: instead"]
#[unsafe(method(frameSizeForContentSize:hasHorizontalScroller:hasVerticalScroller:borderType:))]
#[unsafe(method_family = none)]
pub fn frameSizeForContentSize_hasHorizontalScroller_hasVerticalScroller_borderType(
c_size: NSSize,
h_flag: bool,
v_flag: bool,
r#type: NSBorderType,
mtm: MainThreadMarker,
) -> NSSize;
#[deprecated = "+contentSizeForFrameSize:horizontalScrollerClass:verticalScrollerClass:borderType:controlSize:scrollerStyle: instead"]
#[unsafe(method(contentSizeForFrameSize:hasHorizontalScroller:hasVerticalScroller:borderType:))]
#[unsafe(method_family = none)]
pub fn contentSizeForFrameSize_hasHorizontalScroller_hasVerticalScroller_borderType(
f_size: NSSize,
h_flag: bool,
v_flag: bool,
r#type: NSBorderType,
mtm: MainThreadMarker,
) -> NSSize;
#[unsafe(method(documentVisibleRect))]
#[unsafe(method_family = none)]
pub fn documentVisibleRect(&self) -> NSRect;
#[unsafe(method(contentSize))]
#[unsafe(method_family = none)]
pub fn contentSize(&self) -> NSSize;
#[unsafe(method(documentView))]
#[unsafe(method_family = none)]
pub fn documentView(&self) -> Option<Retained<NSView>>;
#[unsafe(method(setDocumentView:))]
#[unsafe(method_family = none)]
pub fn setDocumentView(&self, document_view: Option<&NSView>);
#[cfg(feature = "NSClipView")]
#[unsafe(method(contentView))]
#[unsafe(method_family = none)]
pub fn contentView(&self) -> Retained<NSClipView>;
#[cfg(feature = "NSClipView")]
#[unsafe(method(setContentView:))]
#[unsafe(method_family = none)]
pub fn setContentView(&self, content_view: &NSClipView);
#[cfg(feature = "NSCursor")]
#[unsafe(method(documentCursor))]
#[unsafe(method_family = none)]
pub fn documentCursor(&self) -> Option<Retained<NSCursor>>;
#[cfg(feature = "NSCursor")]
#[unsafe(method(setDocumentCursor:))]
#[unsafe(method_family = none)]
pub fn setDocumentCursor(&self, document_cursor: Option<&NSCursor>);
#[unsafe(method(borderType))]
#[unsafe(method_family = none)]
pub fn borderType(&self) -> NSBorderType;
#[unsafe(method(setBorderType:))]
#[unsafe(method_family = none)]
pub fn setBorderType(&self, border_type: NSBorderType);
#[cfg(feature = "NSColor")]
#[unsafe(method(backgroundColor))]
#[unsafe(method_family = none)]
pub fn backgroundColor(&self) -> Retained<NSColor>;
#[cfg(feature = "NSColor")]
#[unsafe(method(setBackgroundColor:))]
#[unsafe(method_family = none)]
pub fn setBackgroundColor(&self, background_color: &NSColor);
#[unsafe(method(drawsBackground))]
#[unsafe(method_family = none)]
pub fn drawsBackground(&self) -> bool;
#[unsafe(method(setDrawsBackground:))]
#[unsafe(method_family = none)]
pub fn setDrawsBackground(&self, draws_background: bool);
#[unsafe(method(hasVerticalScroller))]
#[unsafe(method_family = none)]
pub fn hasVerticalScroller(&self) -> bool;
#[unsafe(method(setHasVerticalScroller:))]
#[unsafe(method_family = none)]
pub fn setHasVerticalScroller(&self, has_vertical_scroller: bool);
#[unsafe(method(hasHorizontalScroller))]
#[unsafe(method_family = none)]
pub fn hasHorizontalScroller(&self) -> bool;
#[unsafe(method(setHasHorizontalScroller:))]
#[unsafe(method_family = none)]
pub fn setHasHorizontalScroller(&self, has_horizontal_scroller: bool);
#[cfg(all(feature = "NSControl", feature = "NSScroller"))]
#[unsafe(method(verticalScroller))]
#[unsafe(method_family = none)]
pub fn verticalScroller(&self) -> Option<Retained<NSScroller>>;
#[cfg(all(feature = "NSControl", feature = "NSScroller"))]
#[unsafe(method(setVerticalScroller:))]
#[unsafe(method_family = none)]
pub fn setVerticalScroller(&self, vertical_scroller: Option<&NSScroller>);
#[cfg(all(feature = "NSControl", feature = "NSScroller"))]
#[unsafe(method(horizontalScroller))]
#[unsafe(method_family = none)]
pub fn horizontalScroller(&self) -> Option<Retained<NSScroller>>;
#[cfg(all(feature = "NSControl", feature = "NSScroller"))]
#[unsafe(method(setHorizontalScroller:))]
#[unsafe(method_family = none)]
pub fn setHorizontalScroller(&self, horizontal_scroller: Option<&NSScroller>);
#[unsafe(method(autohidesScrollers))]
#[unsafe(method_family = none)]
pub fn autohidesScrollers(&self) -> bool;
#[unsafe(method(setAutohidesScrollers:))]
#[unsafe(method_family = none)]
pub fn setAutohidesScrollers(&self, autohides_scrollers: bool);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(horizontalLineScroll))]
#[unsafe(method_family = none)]
pub fn horizontalLineScroll(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setHorizontalLineScroll:))]
#[unsafe(method_family = none)]
pub fn setHorizontalLineScroll(&self, horizontal_line_scroll: CGFloat);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(verticalLineScroll))]
#[unsafe(method_family = none)]
pub fn verticalLineScroll(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setVerticalLineScroll:))]
#[unsafe(method_family = none)]
pub fn setVerticalLineScroll(&self, vertical_line_scroll: CGFloat);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(lineScroll))]
#[unsafe(method_family = none)]
pub fn lineScroll(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setLineScroll:))]
#[unsafe(method_family = none)]
pub fn setLineScroll(&self, line_scroll: CGFloat);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(horizontalPageScroll))]
#[unsafe(method_family = none)]
pub fn horizontalPageScroll(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setHorizontalPageScroll:))]
#[unsafe(method_family = none)]
pub fn setHorizontalPageScroll(&self, horizontal_page_scroll: CGFloat);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(verticalPageScroll))]
#[unsafe(method_family = none)]
pub fn verticalPageScroll(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setVerticalPageScroll:))]
#[unsafe(method_family = none)]
pub fn setVerticalPageScroll(&self, vertical_page_scroll: CGFloat);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(pageScroll))]
#[unsafe(method_family = none)]
pub fn pageScroll(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setPageScroll:))]
#[unsafe(method_family = none)]
pub fn setPageScroll(&self, page_scroll: CGFloat);
#[unsafe(method(scrollsDynamically))]
#[unsafe(method_family = none)]
pub fn scrollsDynamically(&self) -> bool;
#[unsafe(method(setScrollsDynamically:))]
#[unsafe(method_family = none)]
pub fn setScrollsDynamically(&self, scrolls_dynamically: bool);
#[unsafe(method(tile))]
#[unsafe(method_family = none)]
pub fn tile(&self);
#[cfg(feature = "NSClipView")]
#[unsafe(method(reflectScrolledClipView:))]
#[unsafe(method_family = none)]
pub fn reflectScrolledClipView(&self, c_view: &NSClipView);
#[cfg(feature = "NSEvent")]
#[unsafe(method(scrollWheel:))]
#[unsafe(method_family = none)]
pub fn scrollWheel(&self, event: &NSEvent);
#[cfg(feature = "NSScroller")]
#[unsafe(method(scrollerStyle))]
#[unsafe(method_family = none)]
pub fn scrollerStyle(&self) -> NSScrollerStyle;
#[cfg(feature = "NSScroller")]
#[unsafe(method(setScrollerStyle:))]
#[unsafe(method_family = none)]
pub fn setScrollerStyle(&self, scroller_style: NSScrollerStyle);
#[cfg(feature = "NSScroller")]
#[unsafe(method(scrollerKnobStyle))]
#[unsafe(method_family = none)]
pub fn scrollerKnobStyle(&self) -> NSScrollerKnobStyle;
#[cfg(feature = "NSScroller")]
#[unsafe(method(setScrollerKnobStyle:))]
#[unsafe(method_family = none)]
pub fn setScrollerKnobStyle(&self, scroller_knob_style: NSScrollerKnobStyle);
#[unsafe(method(flashScrollers))]
#[unsafe(method_family = none)]
pub fn flashScrollers(&self);
#[unsafe(method(horizontalScrollElasticity))]
#[unsafe(method_family = none)]
pub fn horizontalScrollElasticity(&self) -> NSScrollElasticity;
#[unsafe(method(setHorizontalScrollElasticity:))]
#[unsafe(method_family = none)]
pub fn setHorizontalScrollElasticity(
&self,
horizontal_scroll_elasticity: NSScrollElasticity,
);
#[unsafe(method(verticalScrollElasticity))]
#[unsafe(method_family = none)]
pub fn verticalScrollElasticity(&self) -> NSScrollElasticity;
#[unsafe(method(setVerticalScrollElasticity:))]
#[unsafe(method_family = none)]
pub fn setVerticalScrollElasticity(&self, vertical_scroll_elasticity: NSScrollElasticity);
#[unsafe(method(usesPredominantAxisScrolling))]
#[unsafe(method_family = none)]
pub fn usesPredominantAxisScrolling(&self) -> bool;
#[unsafe(method(setUsesPredominantAxisScrolling:))]
#[unsafe(method_family = none)]
pub fn setUsesPredominantAxisScrolling(&self, uses_predominant_axis_scrolling: bool);
#[unsafe(method(allowsMagnification))]
#[unsafe(method_family = none)]
pub fn allowsMagnification(&self) -> bool;
#[unsafe(method(setAllowsMagnification:))]
#[unsafe(method_family = none)]
pub fn setAllowsMagnification(&self, allows_magnification: bool);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(magnification))]
#[unsafe(method_family = none)]
pub fn magnification(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setMagnification:))]
#[unsafe(method_family = none)]
pub fn setMagnification(&self, magnification: CGFloat);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(maxMagnification))]
#[unsafe(method_family = none)]
pub fn maxMagnification(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setMaxMagnification:))]
#[unsafe(method_family = none)]
pub fn setMaxMagnification(&self, max_magnification: CGFloat);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(minMagnification))]
#[unsafe(method_family = none)]
pub fn minMagnification(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setMinMagnification:))]
#[unsafe(method_family = none)]
pub fn setMinMagnification(&self, min_magnification: CGFloat);
#[unsafe(method(magnifyToFitRect:))]
#[unsafe(method_family = none)]
pub fn magnifyToFitRect(&self, rect: NSRect);
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setMagnification:centeredAtPoint:))]
#[unsafe(method_family = none)]
pub fn setMagnification_centeredAtPoint(&self, magnification: CGFloat, point: NSPoint);
#[cfg(feature = "NSEvent")]
#[unsafe(method(addFloatingSubview:forAxis:))]
#[unsafe(method_family = none)]
pub fn addFloatingSubview_forAxis(&self, view: &NSView, axis: NSEventGestureAxis);
#[unsafe(method(automaticallyAdjustsContentInsets))]
#[unsafe(method_family = none)]
pub fn automaticallyAdjustsContentInsets(&self) -> bool;
#[unsafe(method(setAutomaticallyAdjustsContentInsets:))]
#[unsafe(method_family = none)]
pub fn setAutomaticallyAdjustsContentInsets(
&self,
automatically_adjusts_content_insets: bool,
);
#[unsafe(method(contentInsets))]
#[unsafe(method_family = none)]
pub fn contentInsets(&self) -> NSEdgeInsets;
#[unsafe(method(setContentInsets:))]
#[unsafe(method_family = none)]
pub fn setContentInsets(&self, content_insets: NSEdgeInsets);
#[unsafe(method(scrollerInsets))]
#[unsafe(method_family = none)]
pub fn scrollerInsets(&self) -> NSEdgeInsets;
#[unsafe(method(setScrollerInsets:))]
#[unsafe(method_family = none)]
pub fn setScrollerInsets(&self, scroller_insets: NSEdgeInsets);
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSScrollView {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSScrollView {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}
extern "C" {
pub static NSScrollViewWillStartLiveMagnifyNotification: &'static NSNotificationName;
}
extern "C" {
pub static NSScrollViewDidEndLiveMagnifyNotification: &'static NSNotificationName;
}
extern "C" {
pub static NSScrollViewWillStartLiveScrollNotification: &'static NSNotificationName;
}
extern "C" {
pub static NSScrollViewDidLiveScrollNotification: &'static NSNotificationName;
}
extern "C" {
pub static NSScrollViewDidEndLiveScrollNotification: &'static NSNotificationName;
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSScrollView {
extern_methods!(
#[unsafe(method(rulerViewClass))]
#[unsafe(method_family = none)]
pub fn rulerViewClass(mtm: MainThreadMarker) -> Option<&'static AnyClass>;
#[unsafe(method(setRulerViewClass:))]
#[unsafe(method_family = none)]
pub unsafe fn setRulerViewClass(ruler_view_class: Option<&AnyClass>, mtm: MainThreadMarker);
#[unsafe(method(rulersVisible))]
#[unsafe(method_family = none)]
pub fn rulersVisible(&self) -> bool;
#[unsafe(method(setRulersVisible:))]
#[unsafe(method_family = none)]
pub fn setRulersVisible(&self, rulers_visible: bool);
#[unsafe(method(hasHorizontalRuler))]
#[unsafe(method_family = none)]
pub fn hasHorizontalRuler(&self) -> bool;
#[unsafe(method(setHasHorizontalRuler:))]
#[unsafe(method_family = none)]
pub fn setHasHorizontalRuler(&self, has_horizontal_ruler: bool);
#[unsafe(method(hasVerticalRuler))]
#[unsafe(method_family = none)]
pub fn hasVerticalRuler(&self) -> bool;
#[unsafe(method(setHasVerticalRuler:))]
#[unsafe(method_family = none)]
pub fn setHasVerticalRuler(&self, has_vertical_ruler: bool);
#[cfg(feature = "NSRulerView")]
#[unsafe(method(horizontalRulerView))]
#[unsafe(method_family = none)]
pub fn horizontalRulerView(&self) -> Option<Retained<NSRulerView>>;
#[cfg(feature = "NSRulerView")]
#[unsafe(method(setHorizontalRulerView:))]
#[unsafe(method_family = none)]
pub fn setHorizontalRulerView(&self, horizontal_ruler_view: Option<&NSRulerView>);
#[cfg(feature = "NSRulerView")]
#[unsafe(method(verticalRulerView))]
#[unsafe(method_family = none)]
pub fn verticalRulerView(&self) -> Option<Retained<NSRulerView>>;
#[cfg(feature = "NSRulerView")]
#[unsafe(method(setVerticalRulerView:))]
#[unsafe(method_family = none)]
pub fn setVerticalRulerView(&self, vertical_ruler_view: Option<&NSRulerView>);
);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSScrollViewFindBarPosition(pub NSInteger);
impl NSScrollViewFindBarPosition {
#[doc(alias = "NSScrollViewFindBarPositionAboveHorizontalRuler")]
pub const AboveHorizontalRuler: Self = Self(0);
#[doc(alias = "NSScrollViewFindBarPositionAboveContent")]
pub const AboveContent: Self = Self(1);
#[doc(alias = "NSScrollViewFindBarPositionBelowContent")]
pub const BelowContent: Self = Self(2);
}
unsafe impl Encode for NSScrollViewFindBarPosition {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSScrollViewFindBarPosition {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSScrollView {
extern_methods!(
#[unsafe(method(findBarPosition))]
#[unsafe(method_family = none)]
pub fn findBarPosition(&self) -> NSScrollViewFindBarPosition;
#[unsafe(method(setFindBarPosition:))]
#[unsafe(method_family = none)]
pub fn setFindBarPosition(&self, find_bar_position: NSScrollViewFindBarPosition);
);
}