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!(
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);