icrate 0.0.1

Bindings to Apple's frameworks
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;

ns_enum!(
    #[underlying(NSInteger)]
    pub enum NSPaperOrientation {
        NSPaperOrientationPortrait = 0,
        NSPaperOrientationLandscape = 1,
    }
);

ns_enum!(
    #[underlying(NSUInteger)]
    pub enum NSPrintingPaginationMode {
        NSPrintingPaginationModeAutomatic = 0,
        NSPrintingPaginationModeFit = 1,
        NSPrintingPaginationModeClip = 2,
    }
);

typed_extensible_enum!(
    pub type NSPrintInfoAttributeKey = NSString;
);

extern_static!(NSPrintPaperName: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintPaperSize: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintOrientation: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintScalingFactor: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintLeftMargin: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintRightMargin: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintTopMargin: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintBottomMargin: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintHorizontallyCentered: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintVerticallyCentered: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintHorizontalPagination: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintVerticalPagination: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintPrinter: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintCopies: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintAllPages: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintFirstPage: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintLastPage: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintMustCollate: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintReversePageOrder: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintJobDisposition: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintPagesAcross: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintPagesDown: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintTime: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintDetailedErrorReporting: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintFaxNumber: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintPrinterName: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintSelectionOnly: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintJobSavingURL: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintJobSavingFileNameExtensionHidden: &'static NSPrintInfoAttributeKey);

extern_static!(NSPrintHeaderAndFooter: &'static NSPrintInfoAttributeKey);

typed_enum!(
    pub type NSPrintJobDispositionValue = NSString;
);

extern_static!(NSPrintSpoolJob: &'static NSPrintJobDispositionValue);

extern_static!(NSPrintPreviewJob: &'static NSPrintJobDispositionValue);

extern_static!(NSPrintSaveJob: &'static NSPrintJobDispositionValue);

extern_static!(NSPrintCancelJob: &'static NSPrintJobDispositionValue);

pub type NSPrintInfoSettingKey = NSString;

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct NSPrintInfo;

    unsafe impl ClassType for NSPrintInfo {
        type Super = NSObject;
    }
);

extern_methods!(
    unsafe impl NSPrintInfo {
        #[method_id(@__retain_semantics Other sharedPrintInfo)]
        pub unsafe fn sharedPrintInfo() -> Id<NSPrintInfo, Shared>;

        #[method(setSharedPrintInfo:)]
        pub unsafe fn setSharedPrintInfo(sharedPrintInfo: &NSPrintInfo);

        #[method_id(@__retain_semantics Init initWithDictionary:)]
        pub unsafe fn initWithDictionary(
            this: Option<Allocated<Self>>,
            attributes: &NSDictionary<NSPrintInfoAttributeKey, Object>,
        ) -> Id<Self, Shared>;

        #[method_id(@__retain_semantics Init initWithCoder:)]
        pub unsafe fn initWithCoder(
            this: Option<Allocated<Self>>,
            coder: &NSCoder,
        ) -> Id<Self, Shared>;

        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self, Shared>;

        #[method_id(@__retain_semantics Other dictionary)]
        pub unsafe fn dictionary(
            &self,
        ) -> Id<NSMutableDictionary<NSPrintInfoAttributeKey, Object>, Owned>;

        #[method_id(@__retain_semantics Other paperName)]
        pub unsafe fn paperName(&self) -> Option<Id<NSPrinterPaperName, Shared>>;

        #[method(setPaperName:)]
        pub unsafe fn setPaperName(&self, paperName: Option<&NSPrinterPaperName>);

        #[method(paperSize)]
        pub unsafe fn paperSize(&self) -> NSSize;

        #[method(setPaperSize:)]
        pub unsafe fn setPaperSize(&self, paperSize: NSSize);

        #[method(orientation)]
        pub unsafe fn orientation(&self) -> NSPaperOrientation;

        #[method(setOrientation:)]
        pub unsafe fn setOrientation(&self, orientation: NSPaperOrientation);

        #[method(scalingFactor)]
        pub unsafe fn scalingFactor(&self) -> CGFloat;

        #[method(setScalingFactor:)]
        pub unsafe fn setScalingFactor(&self, scalingFactor: CGFloat);

        #[method(leftMargin)]
        pub unsafe fn leftMargin(&self) -> CGFloat;

        #[method(setLeftMargin:)]
        pub unsafe fn setLeftMargin(&self, leftMargin: CGFloat);

        #[method(rightMargin)]
        pub unsafe fn rightMargin(&self) -> CGFloat;

        #[method(setRightMargin:)]
        pub unsafe fn setRightMargin(&self, rightMargin: CGFloat);

        #[method(topMargin)]
        pub unsafe fn topMargin(&self) -> CGFloat;

        #[method(setTopMargin:)]
        pub unsafe fn setTopMargin(&self, topMargin: CGFloat);

        #[method(bottomMargin)]
        pub unsafe fn bottomMargin(&self) -> CGFloat;

        #[method(setBottomMargin:)]
        pub unsafe fn setBottomMargin(&self, bottomMargin: CGFloat);

        #[method(isHorizontallyCentered)]
        pub unsafe fn isHorizontallyCentered(&self) -> bool;

        #[method(setHorizontallyCentered:)]
        pub unsafe fn setHorizontallyCentered(&self, horizontallyCentered: bool);

        #[method(isVerticallyCentered)]
        pub unsafe fn isVerticallyCentered(&self) -> bool;

        #[method(setVerticallyCentered:)]
        pub unsafe fn setVerticallyCentered(&self, verticallyCentered: bool);

        #[method(horizontalPagination)]
        pub unsafe fn horizontalPagination(&self) -> NSPrintingPaginationMode;

        #[method(setHorizontalPagination:)]
        pub unsafe fn setHorizontalPagination(
            &self,
            horizontalPagination: NSPrintingPaginationMode,
        );

        #[method(verticalPagination)]
        pub unsafe fn verticalPagination(&self) -> NSPrintingPaginationMode;

        #[method(setVerticalPagination:)]
        pub unsafe fn setVerticalPagination(&self, verticalPagination: NSPrintingPaginationMode);

        #[method_id(@__retain_semantics Other jobDisposition)]
        pub unsafe fn jobDisposition(&self) -> Id<NSPrintJobDispositionValue, Shared>;

        #[method(setJobDisposition:)]
        pub unsafe fn setJobDisposition(&self, jobDisposition: &NSPrintJobDispositionValue);

        #[method_id(@__retain_semantics Other printer)]
        pub unsafe fn printer(&self) -> Id<NSPrinter, Shared>;

        #[method(setPrinter:)]
        pub unsafe fn setPrinter(&self, printer: &NSPrinter);

        #[method(setUpPrintOperationDefaultValues)]
        pub unsafe fn setUpPrintOperationDefaultValues(&self);

        #[method(imageablePageBounds)]
        pub unsafe fn imageablePageBounds(&self) -> NSRect;

        #[method_id(@__retain_semantics Other localizedPaperName)]
        pub unsafe fn localizedPaperName(&self) -> Option<Id<NSString, Shared>>;

        #[method_id(@__retain_semantics Other defaultPrinter)]
        pub unsafe fn defaultPrinter() -> Option<Id<NSPrinter, Shared>>;

        #[method_id(@__retain_semantics Other printSettings)]
        pub unsafe fn printSettings(
            &self,
        ) -> Id<NSMutableDictionary<NSPrintInfoSettingKey, Object>, Owned>;

        #[method(PMPrintSession)]
        pub unsafe fn PMPrintSession(&self) -> NonNull<c_void>;

        #[method(PMPageFormat)]
        pub unsafe fn PMPageFormat(&self) -> NonNull<c_void>;

        #[method(PMPrintSettings)]
        pub unsafe fn PMPrintSettings(&self) -> NonNull<c_void>;

        #[method(updateFromPMPageFormat)]
        pub unsafe fn updateFromPMPageFormat(&self);

        #[method(updateFromPMPrintSettings)]
        pub unsafe fn updateFromPMPrintSettings(&self);

        #[method(isSelectionOnly)]
        pub unsafe fn isSelectionOnly(&self) -> bool;

        #[method(setSelectionOnly:)]
        pub unsafe fn setSelectionOnly(&self, selectionOnly: bool);

        #[method(takeSettingsFromPDFInfo:)]
        pub unsafe fn takeSettingsFromPDFInfo(&self, inPDFInfo: &NSPDFInfo);
    }
);

extern_methods!(
    /// NSDeprecated
    unsafe impl NSPrintInfo {
        #[method(setDefaultPrinter:)]
        pub unsafe fn setDefaultPrinter(printer: Option<&NSPrinter>);

        #[method(sizeForPaperName:)]
        pub unsafe fn sizeForPaperName(name: Option<&NSPrinterPaperName>) -> NSSize;
    }
);

extern_static!(NSPrintFormName: &'static NSString);

extern_static!(NSPrintJobFeatures: &'static NSString);

extern_static!(NSPrintManualFeed: &'static NSString);

extern_static!(NSPrintPagesPerSheet: &'static NSString);

extern_static!(NSPrintPaperFeed: &'static NSString);

extern_static!(NSPrintSavePath: &'static NSString);

ns_enum!(
    #[underlying(NSUInteger)]
    pub enum NSPrintingOrientation {
        NSPortraitOrientation = 0,
        NSLandscapeOrientation = 1,
    }
);

extern_static!(NSAutoPagination: NSPrintingPaginationMode = NSPrintingPaginationModeAutomatic);

extern_static!(NSFitPagination: NSPrintingPaginationMode = NSPrintingPaginationModeFit);

extern_static!(NSClipPagination: NSPrintingPaginationMode = NSPrintingPaginationModeClip);