CPF/CPF.Mac/Mac/AppKit/NSPrintInfo.cs
2023-11-21 23:05:03 +08:00

763 lines
22 KiB
C#

using CPF.Mac.CoreGraphics;
using CPF.Mac.Foundation;
using CPF.Mac.ObjCRuntime;
using System;
using System.ComponentModel;
namespace CPF.Mac.AppKit
{
[Register("NSPrintInfo", true)]
public class NSPrintInfo : NSObject
{
private static readonly IntPtr selDictionaryHandle = Selector.GetHandle("dictionary");
private static readonly IntPtr selImageablePageBoundsHandle = Selector.GetHandle("imageablePageBounds");
private static readonly IntPtr selLocalizedPaperNameHandle = Selector.GetHandle("localizedPaperName");
private static readonly IntPtr selDefaultPrinterHandle = Selector.GetHandle("defaultPrinter");
private static readonly IntPtr selPrintSettingsHandle = Selector.GetHandle("printSettings");
private static readonly IntPtr selSharedPrintInfoHandle = Selector.GetHandle("sharedPrintInfo");
private static readonly IntPtr selSetSharedPrintInfo_Handle = Selector.GetHandle("setSharedPrintInfo:");
private static readonly IntPtr selPaperNameHandle = Selector.GetHandle("paperName");
private static readonly IntPtr selSetPaperName_Handle = Selector.GetHandle("setPaperName:");
private static readonly IntPtr selPaperSizeHandle = Selector.GetHandle("paperSize");
private static readonly IntPtr selSetPaperSize_Handle = Selector.GetHandle("setPaperSize:");
private static readonly IntPtr selOrientationHandle = Selector.GetHandle("orientation");
private static readonly IntPtr selSetOrientation_Handle = Selector.GetHandle("setOrientation:");
private static readonly IntPtr selScalingFactorHandle = Selector.GetHandle("scalingFactor");
private static readonly IntPtr selSetScalingFactor_Handle = Selector.GetHandle("setScalingFactor:");
private static readonly IntPtr selLeftMarginHandle = Selector.GetHandle("leftMargin");
private static readonly IntPtr selSetLeftMargin_Handle = Selector.GetHandle("setLeftMargin:");
private static readonly IntPtr selRightMarginHandle = Selector.GetHandle("rightMargin");
private static readonly IntPtr selSetRightMargin_Handle = Selector.GetHandle("setRightMargin:");
private static readonly IntPtr selTopMarginHandle = Selector.GetHandle("topMargin");
private static readonly IntPtr selSetTopMargin_Handle = Selector.GetHandle("setTopMargin:");
private static readonly IntPtr selBottomMarginHandle = Selector.GetHandle("bottomMargin");
private static readonly IntPtr selSetBottomMargin_Handle = Selector.GetHandle("setBottomMargin:");
private static readonly IntPtr selIsHorizontallyCenteredHandle = Selector.GetHandle("isHorizontallyCentered");
private static readonly IntPtr selSetHorizontallyCentered_Handle = Selector.GetHandle("setHorizontallyCentered:");
private static readonly IntPtr selIsVerticallyCenteredHandle = Selector.GetHandle("isVerticallyCentered");
private static readonly IntPtr selSetVerticallyCentered_Handle = Selector.GetHandle("setVerticallyCentered:");
private static readonly IntPtr selHorizontalPaginationHandle = Selector.GetHandle("horizontalPagination");
private static readonly IntPtr selSetHorizontalPagination_Handle = Selector.GetHandle("setHorizontalPagination:");
private static readonly IntPtr selVerticalPaginationHandle = Selector.GetHandle("verticalPagination");
private static readonly IntPtr selSetVerticalPagination_Handle = Selector.GetHandle("setVerticalPagination:");
private static readonly IntPtr selJobDispositionHandle = Selector.GetHandle("jobDisposition");
private static readonly IntPtr selSetJobDisposition_Handle = Selector.GetHandle("setJobDisposition:");
private static readonly IntPtr selPrinterHandle = Selector.GetHandle("printer");
private static readonly IntPtr selSetPrinter_Handle = Selector.GetHandle("setPrinter:");
private static readonly IntPtr selIsSelectionOnlyHandle = Selector.GetHandle("isSelectionOnly");
private static readonly IntPtr selSetSelectionOnly_Handle = Selector.GetHandle("setSelectionOnly:");
private static readonly IntPtr selInitWithDictionary_Handle = Selector.GetHandle("initWithDictionary:");
private static readonly IntPtr selSetUpPrintOperationDefaultValuesHandle = Selector.GetHandle("setUpPrintOperationDefaultValues");
private static readonly IntPtr selPMPrintSessionHandle = Selector.GetHandle("PMPrintSession");
private static readonly IntPtr selPMPageFormatHandle = Selector.GetHandle("PMPageFormat");
private static readonly IntPtr selPMPrintSettingsHandle = Selector.GetHandle("PMPrintSettings");
private static readonly IntPtr selUpdateFromPMPageFormatHandle = Selector.GetHandle("updateFromPMPageFormat");
private static readonly IntPtr selUpdateFromPMPrintSettingsHandle = Selector.GetHandle("updateFromPMPrintSettings");
private static readonly IntPtr class_ptr = Class.GetHandle("NSPrintInfo");
private object __mt_Dictionary_var;
private static object __mt_DefaultPrinter_var_static;
private object __mt_PrintSettings_var;
private static object __mt_SharedPrintInfo_var_static;
private object __mt_Printer_var;
public override IntPtr ClassHandle => class_ptr;
public virtual NSMutableDictionary Dictionary
{
[Export("dictionary")]
get
{
NSApplication.EnsureUIThread();
return (NSMutableDictionary)(__mt_Dictionary_var = ((!IsDirectBinding) ? ((NSMutableDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selDictionaryHandle))) : ((NSMutableDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selDictionaryHandle)))));
}
}
public virtual CGRect ImageablePageBounds
{
[Export("imageablePageBounds")]
get
{
NSApplication.EnsureUIThread();
CGRect retval;
if (IsDirectBinding)
{
Messaging.CGRect_objc_msgSend_stret(out retval, base.Handle, selImageablePageBoundsHandle);
}
else
{
Messaging.CGRect_objc_msgSendSuper_stret(out retval, base.SuperHandle, selImageablePageBoundsHandle);
}
return retval;
}
}
public virtual string LocalizedPaperName
{
[Export("localizedPaperName")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selLocalizedPaperNameHandle));
}
return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selLocalizedPaperNameHandle));
}
}
public static NSPrinter DefaultPrinter
{
[Export("defaultPrinter")]
get
{
NSApplication.EnsureUIThread();
return (NSPrinter)(__mt_DefaultPrinter_var_static = (NSPrinter)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selDefaultPrinterHandle)));
}
}
public virtual NSMutableDictionary PrintSettings
{
[Export("printSettings")]
get
{
NSApplication.EnsureUIThread();
return (NSMutableDictionary)(__mt_PrintSettings_var = ((!IsDirectBinding) ? ((NSMutableDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPrintSettingsHandle))) : ((NSMutableDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selPrintSettingsHandle)))));
}
}
public static NSPrintInfo SharedPrintInfo
{
[Export("sharedPrintInfo")]
get
{
NSApplication.EnsureUIThread();
return (NSPrintInfo)(__mt_SharedPrintInfo_var_static = (NSPrintInfo)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSharedPrintInfoHandle)));
}
[Export("setSharedPrintInfo:")]
set
{
NSApplication.EnsureUIThread();
if (value == null)
{
throw new ArgumentNullException("value");
}
Messaging.void_objc_msgSend_IntPtr(class_ptr, selSetSharedPrintInfo_Handle, value.Handle);
}
}
public virtual string PaperName
{
[Export("paperName")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selPaperNameHandle));
}
return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPaperNameHandle));
}
[Export("setPaperName:")]
set
{
NSApplication.EnsureUIThread();
if (value == null)
{
throw new ArgumentNullException("value");
}
IntPtr intPtr = NSString.CreateNative(value);
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetPaperName_Handle, intPtr);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetPaperName_Handle, intPtr);
}
NSString.ReleaseNative(intPtr);
}
}
public virtual CGSize PaperSize
{
[Export("paperSize")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.CGSize_objc_msgSend(base.Handle, selPaperSizeHandle);
}
return Messaging.CGSize_objc_msgSendSuper(base.SuperHandle, selPaperSizeHandle);
}
[Export("setPaperSize:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_CGSize(base.Handle, selSetPaperSize_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_CGSize(base.SuperHandle, selSetPaperSize_Handle, value);
}
}
}
public virtual NSPrintingOrientation Orientation
{
[Export("orientation")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSPrintingOrientation)Messaging.UInt64_objc_msgSend(base.Handle, selOrientationHandle);
}
return (NSPrintingOrientation)Messaging.UInt64_objc_msgSendSuper(base.SuperHandle, selOrientationHandle);
}
[Export("setOrientation:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_UInt64(base.Handle, selSetOrientation_Handle, (ulong)value);
}
else
{
Messaging.void_objc_msgSendSuper_UInt64(base.SuperHandle, selSetOrientation_Handle, (ulong)value);
}
}
}
public virtual double ScalingFactor
{
[Export("scalingFactor")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.Double_objc_msgSend(base.Handle, selScalingFactorHandle);
}
return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selScalingFactorHandle);
}
[Export("setScalingFactor:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_Double(base.Handle, selSetScalingFactor_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_Double(base.SuperHandle, selSetScalingFactor_Handle, value);
}
}
}
public virtual double LeftMargin
{
[Export("leftMargin")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.Double_objc_msgSend(base.Handle, selLeftMarginHandle);
}
return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selLeftMarginHandle);
}
[Export("setLeftMargin:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_Double(base.Handle, selSetLeftMargin_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_Double(base.SuperHandle, selSetLeftMargin_Handle, value);
}
}
}
public virtual double RightMargin
{
[Export("rightMargin")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.Double_objc_msgSend(base.Handle, selRightMarginHandle);
}
return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selRightMarginHandle);
}
[Export("setRightMargin:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_Double(base.Handle, selSetRightMargin_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_Double(base.SuperHandle, selSetRightMargin_Handle, value);
}
}
}
public virtual double TopMargin
{
[Export("topMargin")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.Double_objc_msgSend(base.Handle, selTopMarginHandle);
}
return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selTopMarginHandle);
}
[Export("setTopMargin:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_Double(base.Handle, selSetTopMargin_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_Double(base.SuperHandle, selSetTopMargin_Handle, value);
}
}
}
public virtual double BottomMargin
{
[Export("bottomMargin")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.Double_objc_msgSend(base.Handle, selBottomMarginHandle);
}
return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selBottomMarginHandle);
}
[Export("setBottomMargin:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_Double(base.Handle, selSetBottomMargin_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_Double(base.SuperHandle, selSetBottomMargin_Handle, value);
}
}
}
public virtual bool HorizontallyCentered
{
[Export("isHorizontallyCentered")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selIsHorizontallyCenteredHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsHorizontallyCenteredHandle);
}
[Export("setHorizontallyCentered:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetHorizontallyCentered_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetHorizontallyCentered_Handle, value);
}
}
}
public virtual bool VerticallyCentered
{
[Export("isVerticallyCentered")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selIsVerticallyCenteredHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsVerticallyCenteredHandle);
}
[Export("setVerticallyCentered:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetVerticallyCentered_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetVerticallyCentered_Handle, value);
}
}
}
public virtual NSPrintingPaginationMode HorizontalPagination
{
[Export("horizontalPagination")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSPrintingPaginationMode)Messaging.UInt64_objc_msgSend(base.Handle, selHorizontalPaginationHandle);
}
return (NSPrintingPaginationMode)Messaging.UInt64_objc_msgSendSuper(base.SuperHandle, selHorizontalPaginationHandle);
}
[Export("setHorizontalPagination:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_UInt64(base.Handle, selSetHorizontalPagination_Handle, (ulong)value);
}
else
{
Messaging.void_objc_msgSendSuper_UInt64(base.SuperHandle, selSetHorizontalPagination_Handle, (ulong)value);
}
}
}
public virtual NSPrintingPaginationMode VerticalPagination
{
[Export("verticalPagination")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSPrintingPaginationMode)Messaging.UInt64_objc_msgSend(base.Handle, selVerticalPaginationHandle);
}
return (NSPrintingPaginationMode)Messaging.UInt64_objc_msgSendSuper(base.SuperHandle, selVerticalPaginationHandle);
}
[Export("setVerticalPagination:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_UInt64(base.Handle, selSetVerticalPagination_Handle, (ulong)value);
}
else
{
Messaging.void_objc_msgSendSuper_UInt64(base.SuperHandle, selSetVerticalPagination_Handle, (ulong)value);
}
}
}
public virtual string JobDisposition
{
[Export("jobDisposition")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selJobDispositionHandle));
}
return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selJobDispositionHandle));
}
[Export("setJobDisposition:")]
set
{
NSApplication.EnsureUIThread();
if (value == null)
{
throw new ArgumentNullException("value");
}
IntPtr intPtr = NSString.CreateNative(value);
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetJobDisposition_Handle, intPtr);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetJobDisposition_Handle, intPtr);
}
NSString.ReleaseNative(intPtr);
}
}
public virtual NSPrinter Printer
{
[Export("printer")]
get
{
NSApplication.EnsureUIThread();
return (NSPrinter)(__mt_Printer_var = ((!IsDirectBinding) ? ((NSPrinter)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPrinterHandle))) : ((NSPrinter)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selPrinterHandle)))));
}
[Export("setPrinter:")]
set
{
NSApplication.EnsureUIThread();
if (value == null)
{
throw new ArgumentNullException("value");
}
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetPrinter_Handle, value.Handle);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetPrinter_Handle, value.Handle);
}
__mt_Printer_var = value;
}
}
public virtual bool SelectionOnly
{
[Export("isSelectionOnly")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selIsSelectionOnlyHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsSelectionOnlyHandle);
}
[Export("setSelectionOnly:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetSelectionOnly_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetSelectionOnly_Handle, value);
}
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
[Export("init")]
public NSPrintInfo()
: base(NSObjectFlag.Empty)
{
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend(base.Handle, Selector.Init);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, Selector.Init);
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
[Export("initWithCoder:")]
public NSPrintInfo(NSCoder coder)
: base(NSObjectFlag.Empty)
{
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, Selector.InitWithCoder, coder.Handle);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, Selector.InitWithCoder, coder.Handle);
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
public NSPrintInfo(NSObjectFlag t)
: base(t)
{
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
public NSPrintInfo(IntPtr handle)
: base(handle)
{
}
[Export("initWithDictionary:")]
public NSPrintInfo(NSDictionary attributes)
: base(NSObjectFlag.Empty)
{
NSApplication.EnsureUIThread();
if (attributes == null)
{
throw new ArgumentNullException("attributes");
}
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selInitWithDictionary_Handle, attributes.Handle);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selInitWithDictionary_Handle, attributes.Handle);
}
}
[Export("setUpPrintOperationDefaultValues")]
public virtual void SetUpPrintOperationDefaultValues()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend(base.Handle, selSetUpPrintOperationDefaultValuesHandle);
}
else
{
Messaging.void_objc_msgSendSuper(base.SuperHandle, selSetUpPrintOperationDefaultValuesHandle);
}
}
[Export("PMPrintSession")]
public virtual IntPtr GetPMPrintSession()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.IntPtr_objc_msgSend(base.Handle, selPMPrintSessionHandle);
}
return Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPMPrintSessionHandle);
}
[Export("PMPageFormat")]
public virtual IntPtr GetPMPageFormat()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.IntPtr_objc_msgSend(base.Handle, selPMPageFormatHandle);
}
return Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPMPageFormatHandle);
}
[Export("PMPrintSettings")]
public virtual IntPtr GetPMPrintSettings()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.IntPtr_objc_msgSend(base.Handle, selPMPrintSettingsHandle);
}
return Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPMPrintSettingsHandle);
}
[Export("updateFromPMPageFormat")]
public virtual void UpdateFromPMPageFormat()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend(base.Handle, selUpdateFromPMPageFormatHandle);
}
else
{
Messaging.void_objc_msgSendSuper(base.SuperHandle, selUpdateFromPMPageFormatHandle);
}
}
[Export("updateFromPMPrintSettings")]
public virtual void UpdateFromPMPrintSettings()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend(base.Handle, selUpdateFromPMPrintSettingsHandle);
}
else
{
Messaging.void_objc_msgSendSuper(base.SuperHandle, selUpdateFromPMPrintSettingsHandle);
}
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (base.Handle == IntPtr.Zero)
{
__mt_Dictionary_var = null;
__mt_PrintSettings_var = null;
__mt_Printer_var = null;
}
}
}
}