objc2-pdf-kit 0.3.2

Bindings to the PDFKit framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
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 objc2_foundation::*;

use crate::*;

/// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristicskey?language=objc)
// NS_TYPED_ENUM
pub type PDFAppearanceCharacteristicsKey = NSString;

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristicskeybackgroundcolor?language=objc)
    pub static PDFAppearanceCharacteristicsKeyBackgroundColor:
        &'static PDFAppearanceCharacteristicsKey;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristicskeybordercolor?language=objc)
    pub static PDFAppearanceCharacteristicsKeyBorderColor: &'static PDFAppearanceCharacteristicsKey;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristicskeyrotation?language=objc)
    pub static PDFAppearanceCharacteristicsKeyRotation: &'static PDFAppearanceCharacteristicsKey;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristicskeycaption?language=objc)
    pub static PDFAppearanceCharacteristicsKeyCaption: &'static PDFAppearanceCharacteristicsKey;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristicskeyrollovercaption?language=objc)
    pub static PDFAppearanceCharacteristicsKeyRolloverCaption:
        &'static PDFAppearanceCharacteristicsKey;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristicskeydowncaption?language=objc)
    pub static PDFAppearanceCharacteristicsKeyDownCaption: &'static PDFAppearanceCharacteristicsKey;
}

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/pdfkit/pdfappearancecharacteristics?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct PDFAppearanceCharacteristics;
);

extern_conformance!(
    unsafe impl NSCopying for PDFAppearanceCharacteristics {}
);

unsafe impl CopyingHelper for PDFAppearanceCharacteristics {
    type Result = Self;
}

extern_conformance!(
    unsafe impl NSObjectProtocol for PDFAppearanceCharacteristics {}
);

impl PDFAppearanceCharacteristics {
    extern_methods!(
        #[cfg(feature = "PDFAnnotationUtilities")]
        #[unsafe(method(controlType))]
        #[unsafe(method_family = none)]
        pub unsafe fn controlType(&self) -> PDFWidgetControlType;

        #[cfg(feature = "PDFAnnotationUtilities")]
        /// Setter for [`controlType`][Self::controlType].
        #[unsafe(method(setControlType:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setControlType(&self, control_type: PDFWidgetControlType);

        #[cfg(feature = "objc2-app-kit")]
        #[cfg(target_os = "macos")]
        #[unsafe(method(backgroundColor))]
        #[unsafe(method_family = none)]
        pub unsafe fn backgroundColor(&self) -> Option<Retained<NSColor>>;

        #[cfg(feature = "objc2-app-kit")]
        #[cfg(target_os = "macos")]
        /// Setter for [`backgroundColor`][Self::backgroundColor].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setBackgroundColor:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setBackgroundColor(&self, background_color: Option<&NSColor>);

        #[cfg(feature = "objc2-app-kit")]
        #[cfg(target_os = "macos")]
        #[unsafe(method(borderColor))]
        #[unsafe(method_family = none)]
        pub unsafe fn borderColor(&self) -> Option<Retained<NSColor>>;

        #[cfg(feature = "objc2-app-kit")]
        #[cfg(target_os = "macos")]
        /// Setter for [`borderColor`][Self::borderColor].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setBorderColor:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setBorderColor(&self, border_color: Option<&NSColor>);

        #[unsafe(method(rotation))]
        #[unsafe(method_family = none)]
        pub unsafe fn rotation(&self) -> NSInteger;

        /// Setter for [`rotation`][Self::rotation].
        #[unsafe(method(setRotation:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setRotation(&self, rotation: NSInteger);

        #[unsafe(method(caption))]
        #[unsafe(method_family = none)]
        pub unsafe fn caption(&self) -> Option<Retained<NSString>>;

        /// Setter for [`caption`][Self::caption].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setCaption:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setCaption(&self, caption: Option<&NSString>);

        #[unsafe(method(rolloverCaption))]
        #[unsafe(method_family = none)]
        pub unsafe fn rolloverCaption(&self) -> Option<Retained<NSString>>;

        /// Setter for [`rolloverCaption`][Self::rolloverCaption].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setRolloverCaption:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setRolloverCaption(&self, rollover_caption: Option<&NSString>);

        #[unsafe(method(downCaption))]
        #[unsafe(method_family = none)]
        pub unsafe fn downCaption(&self) -> Option<Retained<NSString>>;

        /// Setter for [`downCaption`][Self::downCaption].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setDownCaption:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setDownCaption(&self, down_caption: Option<&NSString>);

        #[unsafe(method(appearanceCharacteristicsKeyValues))]
        #[unsafe(method_family = none)]
        pub unsafe fn appearanceCharacteristicsKeyValues(&self) -> Retained<NSDictionary>;
    );
}

/// Methods declared on superclass `NSObject`.
impl PDFAppearanceCharacteristics {
    extern_methods!(
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}