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

1903 lines
59 KiB
C#

using CPF.Mac.CoreGraphics;
using CPF.Mac.Foundation;
using CPF.Mac.ObjCRuntime;
using System;
using System.ComponentModel;
using System.IO;
namespace CPF.Mac.AppKit
{
[Register("NSImage", true)]
public class NSImage : NSObject
{
[Register]
private sealed class _NSImageDelegate : NSImageDelegate
{
internal NSImageRect imageDidNotDraw;
internal EventHandler<NSImageLoadEventArgs> willLoadRepresentation;
internal EventHandler<NSImageLoadEventArgs> didLoadRepresentationHeader;
internal EventHandler<NSImagePartialEventArgs> didLoadPartOfRepresentation;
internal EventHandler<NSImageLoadRepresentationEventArgs> didLoadRepresentation;
[Preserve(Conditional = true)]
public override NSImage ImageDidNotDraw(NSObject sender, CGRect aRect)
{
return imageDidNotDraw?.Invoke(sender, aRect);
}
[Preserve(Conditional = true)]
public override void WillLoadRepresentation(NSImage image, NSImageRep rep)
{
EventHandler<NSImageLoadEventArgs> eventHandler = willLoadRepresentation;
if (eventHandler != null)
{
NSImageLoadEventArgs e = new NSImageLoadEventArgs(rep);
eventHandler(image, e);
}
}
[Preserve(Conditional = true)]
public override void DidLoadRepresentationHeader(NSImage image, NSImageRep rep)
{
EventHandler<NSImageLoadEventArgs> eventHandler = didLoadRepresentationHeader;
if (eventHandler != null)
{
NSImageLoadEventArgs e = new NSImageLoadEventArgs(rep);
eventHandler(image, e);
}
}
[Preserve(Conditional = true)]
public override void DidLoadPartOfRepresentation(NSImage image, NSImageRep rep, long rows)
{
EventHandler<NSImagePartialEventArgs> eventHandler = didLoadPartOfRepresentation;
if (eventHandler != null)
{
NSImagePartialEventArgs e = new NSImagePartialEventArgs(rep, rows);
eventHandler(image, e);
}
}
[Preserve(Conditional = true)]
public override void DidLoadRepresentation(NSImage image, NSImageRep rep, NSImageLoadStatus status)
{
EventHandler<NSImageLoadRepresentationEventArgs> eventHandler = didLoadRepresentation;
if (eventHandler != null)
{
NSImageLoadRepresentationEventArgs e = new NSImageLoadRepresentationEventArgs(rep, status);
eventHandler(image, e);
}
}
}
private object __mt_reps_var;
private static readonly IntPtr selIsValidHandle = Selector.GetHandle("isValid");
private static readonly IntPtr selImageFileTypesHandle = Selector.GetHandle("imageFileTypes");
private static readonly IntPtr selImagePasteboardTypesHandle = Selector.GetHandle("imagePasteboardTypes");
private static readonly IntPtr selImageTypesHandle = Selector.GetHandle("imageTypes");
private static readonly IntPtr selImageUnfilteredTypesHandle = Selector.GetHandle("imageUnfilteredTypes");
private static readonly IntPtr selAccessibilityDescriptionHandle = Selector.GetHandle("accessibilityDescription");
private static readonly IntPtr selSetAccessibilityDescription_Handle = Selector.GetHandle("setAccessibilityDescription:");
private static readonly IntPtr selSizeHandle = Selector.GetHandle("size");
private static readonly IntPtr selSetSize_Handle = Selector.GetHandle("setSize:");
private static readonly IntPtr selBackgroundColorHandle = Selector.GetHandle("backgroundColor");
private static readonly IntPtr selSetBackgroundColor_Handle = Selector.GetHandle("setBackgroundColor:");
private static readonly IntPtr selUsesEPSOnResolutionMismatchHandle = Selector.GetHandle("usesEPSOnResolutionMismatch");
private static readonly IntPtr selSetUsesEPSOnResolutionMismatch_Handle = Selector.GetHandle("setUsesEPSOnResolutionMismatch:");
private static readonly IntPtr selPrefersColorMatchHandle = Selector.GetHandle("prefersColorMatch");
private static readonly IntPtr selSetPrefersColorMatch_Handle = Selector.GetHandle("setPrefersColorMatch:");
private static readonly IntPtr selMatchesOnMultipleResolutionHandle = Selector.GetHandle("matchesOnMultipleResolution");
private static readonly IntPtr selSetMatchesOnMultipleResolution_Handle = Selector.GetHandle("setMatchesOnMultipleResolution:");
private static readonly IntPtr selDelegateHandle = Selector.GetHandle("delegate");
private static readonly IntPtr selSetDelegate_Handle = Selector.GetHandle("setDelegate:");
private static readonly IntPtr selCacheModeHandle = Selector.GetHandle("cacheMode");
private static readonly IntPtr selSetCacheMode_Handle = Selector.GetHandle("setCacheMode:");
private static readonly IntPtr selAlignmentRectHandle = Selector.GetHandle("alignmentRect");
private static readonly IntPtr selSetAlignmentRect_Handle = Selector.GetHandle("setAlignmentRect:");
private static readonly IntPtr selIsTemplateHandle = Selector.GetHandle("isTemplate");
private static readonly IntPtr selSetTemplate_Handle = Selector.GetHandle("setTemplate:");
private static readonly IntPtr selIsFlippedHandle = Selector.GetHandle("isFlipped");
private static readonly IntPtr selSetFlipped_Handle = Selector.GetHandle("setFlipped:");
private static readonly IntPtr selImageNamed_Handle = Selector.GetHandle("imageNamed:");
private static readonly IntPtr selInitWithSize_Handle = Selector.GetHandle("initWithSize:");
private static readonly IntPtr selInitWithData_Handle = Selector.GetHandle("initWithData:");
private static readonly IntPtr selInitWithContentsOfFile_Handle = Selector.GetHandle("initWithContentsOfFile:");
private static readonly IntPtr selInitWithContentsOfURL_Handle = Selector.GetHandle("initWithContentsOfURL:");
private static readonly IntPtr selInitWithPasteboard_Handle = Selector.GetHandle("initWithPasteboard:");
private static readonly IntPtr selDrawAtPointFromRectOperationFraction_Handle = Selector.GetHandle("drawAtPoint:fromRect:operation:fraction:");
private static readonly IntPtr selDrawInRectFromRectOperationFraction_Handle = Selector.GetHandle("drawInRect:fromRect:operation:fraction:");
private static readonly IntPtr selDrawInRectFromRectOperationFractionRespectFlippedHints_Handle = Selector.GetHandle("drawInRect:fromRect:operation:fraction:respectFlipped:hints:");
private static readonly IntPtr selDrawRepresentationInRect_Handle = Selector.GetHandle("drawRepresentation:inRect:");
private static readonly IntPtr selRecacheHandle = Selector.GetHandle("recache");
private static readonly IntPtr selTIFFRepresentationHandle = Selector.GetHandle("TIFFRepresentation");
private static readonly IntPtr selTIFFRepresentationUsingCompressionFactor_Handle = Selector.GetHandle("TIFFRepresentationUsingCompression:factor:");
private static readonly IntPtr selRepresentationsHandle = Selector.GetHandle("representations");
private static readonly IntPtr selAddRepresentations_Handle = Selector.GetHandle("addRepresentations:");
private static readonly IntPtr selAddRepresentation_Handle = Selector.GetHandle("addRepresentation:");
private static readonly IntPtr selRemoveRepresentation_Handle = Selector.GetHandle("removeRepresentation:");
private static readonly IntPtr selLockFocusHandle = Selector.GetHandle("lockFocus");
private static readonly IntPtr selLockFocusFlipped_Handle = Selector.GetHandle("lockFocusFlipped:");
private static readonly IntPtr selUnlockFocusHandle = Selector.GetHandle("unlockFocus");
private static readonly IntPtr selBestRepresentationForDevice_Handle = Selector.GetHandle("bestRepresentationForDevice:");
private static readonly IntPtr selImageUnfilteredFileTypesHandle = Selector.GetHandle("imageUnfilteredFileTypes");
private static readonly IntPtr selImageUnfilteredPasteboardTypesHandle = Selector.GetHandle("imageUnfilteredPasteboardTypes");
private static readonly IntPtr selCanInitWithPasteboard_Handle = Selector.GetHandle("canInitWithPasteboard:");
private static readonly IntPtr selCancelIncrementalLoadHandle = Selector.GetHandle("cancelIncrementalLoad");
private static readonly IntPtr selInitWithCGImageSize_Handle = Selector.GetHandle("initWithCGImage:size:");
private static readonly IntPtr selCGImageForProposedRectContextHints_Handle = Selector.GetHandle("CGImageForProposedRect:context:hints:");
private static readonly IntPtr selBestRepresentationForRectContextHints_Handle = Selector.GetHandle("bestRepresentationForRect:context:hints:");
private static readonly IntPtr selHitTestRectWithImageDestinationRectContextHintsFlipped_Handle = Selector.GetHandle("hitTestRect:withImageDestinationRect:context:hints:flipped:");
private static readonly IntPtr selNameHandle = Selector.GetHandle("name");
private static readonly IntPtr selSetName_Handle = Selector.GetHandle("setName:");
private static readonly IntPtr selSizeWithAttributes_Handle = Selector.GetHandle("sizeWithAttributes:");
private static readonly IntPtr selDrawInRectWithAttributes_Handle = Selector.GetHandle("drawInRect:withAttributes:");
private static readonly IntPtr class_ptr = Class.GetHandle("NSImage");
private object __mt_BackgroundColor_var;
private object __mt_WeakDelegate_var;
private static NSString _NSImageNameQuickLookTemplate;
private static NSString _NSImageNameBluetoothTemplate;
private static NSString _NSImageNameIChatTheaterTemplate;
private static NSString _NSImageNameSlideshowTemplate;
private static NSString _NSImageNameActionTemplate;
private static NSString _NSImageNameSmartBadgeTemplate;
private static NSString _NSImageNamePathTemplate;
private static NSString _NSImageNameInvalidDataFreestandingTemplate;
private static NSString _NSImageNameLockLockedTemplate;
private static NSString _NSImageNameLockUnlockedTemplate;
private static NSString _NSImageNameGoRightTemplate;
private static NSString _NSImageNameGoLeftTemplate;
private static NSString _NSImageNameRightFacingTriangleTemplate;
private static NSString _NSImageNameLeftFacingTriangleTemplate;
private static NSString _NSImageNameAddTemplate;
private static NSString _NSImageNameRemoveTemplate;
private static NSString _NSImageNameRevealFreestandingTemplate;
private static NSString _NSImageNameFollowLinkFreestandingTemplate;
private static NSString _NSImageNameEnterFullScreenTemplate;
private static NSString _NSImageNameExitFullScreenTemplate;
private static NSString _NSImageNameStopProgressTemplate;
private static NSString _NSImageNameStopProgressFreestandingTemplate;
private static NSString _NSImageNameRefreshTemplate;
private static NSString _NSImageNameRefreshFreestandingTemplate;
private static NSString _NSImageNameFolder;
private static NSString _NSImageNameTrashEmpty;
private static NSString _NSImageNameTrashFull;
private static NSString _NSImageNameHomeTemplate;
private static NSString _NSImageNameBookmarksTemplate;
private static NSString _NSImageNameCaution;
private static NSString _NSImageNameStatusAvailable;
private static NSString _NSImageNameStatusPartiallyAvailable;
private static NSString _NSImageNameStatusUnavailable;
private static NSString _NSImageNameStatusNone;
private static NSString _NSImageNameApplicationIcon;
private static NSString _NSImageNameMenuOnStateTemplate;
private static NSString _NSImageNameMenuMixedStateTemplate;
private static NSString _NSImageNameUserGuest;
private static NSString _NSImageNameMobileMe;
public CGImage CGImage
{
get
{
CGRect proposedDestRect = CGRect.Empty;
return AsCGImage(ref proposedDestRect, null, null);
}
}
public string Name
{
get
{
return GetName();
}
set
{
SetName(value);
}
}
public override IntPtr ClassHandle => class_ptr;
public virtual bool IsValid
{
[Export("isValid")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selIsValidHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsValidHandle);
}
}
public static string[] ImageFileTypes
{
[Export("imageFileTypes")]
get
{
NSApplication.EnsureUIThread();
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(class_ptr, selImageFileTypesHandle));
}
}
public static string[] ImagePasteboardTypes
{
[Export("imagePasteboardTypes")]
get
{
NSApplication.EnsureUIThread();
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(class_ptr, selImagePasteboardTypesHandle));
}
}
public static string[] ImageTypes
{
[Export("imageTypes")]
get
{
NSApplication.EnsureUIThread();
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(class_ptr, selImageTypesHandle));
}
}
public static string[] ImageUnfilteredTypes
{
[Export("imageUnfilteredTypes")]
get
{
NSApplication.EnsureUIThread();
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(class_ptr, selImageUnfilteredTypesHandle));
}
}
public virtual string AccessibilityDescription
{
[Export("accessibilityDescription")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selAccessibilityDescriptionHandle));
}
return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selAccessibilityDescriptionHandle));
}
[Export("setAccessibilityDescription:")]
set
{
NSApplication.EnsureUIThread();
if (value == null)
{
throw new ArgumentNullException("value");
}
IntPtr intPtr = NSString.CreateNative(value);
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetAccessibilityDescription_Handle, intPtr);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetAccessibilityDescription_Handle, intPtr);
}
NSString.ReleaseNative(intPtr);
}
}
public virtual CGSize Size
{
[Export("size")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.CGSize_objc_msgSend(base.Handle, selSizeHandle);
}
return Messaging.CGSize_objc_msgSendSuper(base.SuperHandle, selSizeHandle);
}
[Export("setSize:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_CGSize(base.Handle, selSetSize_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_CGSize(base.SuperHandle, selSetSize_Handle, value);
}
}
}
public virtual NSColor BackgroundColor
{
[Export("backgroundColor")]
get
{
NSApplication.EnsureUIThread();
return (NSColor)(__mt_BackgroundColor_var = ((!IsDirectBinding) ? ((NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selBackgroundColorHandle))) : ((NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selBackgroundColorHandle)))));
}
[Export("setBackgroundColor:")]
set
{
NSApplication.EnsureUIThread();
if (value == null)
{
throw new ArgumentNullException("value");
}
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetBackgroundColor_Handle, value.Handle);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetBackgroundColor_Handle, value.Handle);
}
__mt_BackgroundColor_var = value;
}
}
public virtual bool UsesEpsOnResolutionMismatch
{
[Export("usesEPSOnResolutionMismatch")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selUsesEPSOnResolutionMismatchHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selUsesEPSOnResolutionMismatchHandle);
}
[Export("setUsesEPSOnResolutionMismatch:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetUsesEPSOnResolutionMismatch_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetUsesEPSOnResolutionMismatch_Handle, value);
}
}
}
public virtual bool PrefersColorMatch
{
[Export("prefersColorMatch")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selPrefersColorMatchHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selPrefersColorMatchHandle);
}
[Export("setPrefersColorMatch:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetPrefersColorMatch_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetPrefersColorMatch_Handle, value);
}
}
}
public virtual bool MatchesOnMultipleResolution
{
[Export("matchesOnMultipleResolution")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selMatchesOnMultipleResolutionHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selMatchesOnMultipleResolutionHandle);
}
[Export("setMatchesOnMultipleResolution:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetMatchesOnMultipleResolution_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetMatchesOnMultipleResolution_Handle, value);
}
}
}
public virtual NSObject WeakDelegate
{
[Export("delegate")]
get
{
NSApplication.EnsureUIThread();
return (NSObject)(__mt_WeakDelegate_var = ((!IsDirectBinding) ? Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selDelegateHandle)) : Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selDelegateHandle))));
}
[Export("setDelegate:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetDelegate_Handle, value?.Handle ?? IntPtr.Zero);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetDelegate_Handle, value?.Handle ?? IntPtr.Zero);
}
__mt_WeakDelegate_var = value;
}
}
public NSImageDelegate Delegate
{
get
{
return WeakDelegate as NSImageDelegate;
}
set
{
WeakDelegate = value;
}
}
public virtual NSImageCacheMode CacheMode
{
[Export("cacheMode")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSImageCacheMode)Messaging.UInt64_objc_msgSend(base.Handle, selCacheModeHandle);
}
return (NSImageCacheMode)Messaging.UInt64_objc_msgSendSuper(base.SuperHandle, selCacheModeHandle);
}
[Export("setCacheMode:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_UInt64(base.Handle, selSetCacheMode_Handle, (ulong)value);
}
else
{
Messaging.void_objc_msgSendSuper_UInt64(base.SuperHandle, selSetCacheMode_Handle, (ulong)value);
}
}
}
public virtual CGRect AlignmentRect
{
[Export("alignmentRect")]
get
{
NSApplication.EnsureUIThread();
CGRect retval;
if (IsDirectBinding)
{
Messaging.CGRect_objc_msgSend_stret(out retval, base.Handle, selAlignmentRectHandle);
}
else
{
Messaging.CGRect_objc_msgSendSuper_stret(out retval, base.SuperHandle, selAlignmentRectHandle);
}
return retval;
}
[Export("setAlignmentRect:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_CGRect(base.Handle, selSetAlignmentRect_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_CGRect(base.SuperHandle, selSetAlignmentRect_Handle, value);
}
}
}
public virtual bool Template
{
[Export("isTemplate")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selIsTemplateHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsTemplateHandle);
}
[Export("setTemplate:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetTemplate_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetTemplate_Handle, value);
}
}
}
[Obsolete("On 10.6 and newer use DrawInRect with respectContextIsFlipped instead", false)]
public virtual bool Flipped
{
[Export("isFlipped")]
get
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend(base.Handle, selIsFlippedHandle);
}
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsFlippedHandle);
}
[Export("setFlipped:")]
set
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selSetFlipped_Handle, value);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetFlipped_Handle, value);
}
}
}
[Field("NSImageNameQuickLookTemplate", "AppKit")]
internal static NSString NSImageNameQuickLookTemplate
{
get
{
if (_NSImageNameQuickLookTemplate == null)
{
_NSImageNameQuickLookTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameQuickLookTemplate");
}
return _NSImageNameQuickLookTemplate;
}
}
[Field("NSImageNameBluetoothTemplate", "AppKit")]
internal static NSString NSImageNameBluetoothTemplate
{
get
{
if (_NSImageNameBluetoothTemplate == null)
{
_NSImageNameBluetoothTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameBluetoothTemplate");
}
return _NSImageNameBluetoothTemplate;
}
}
[Field("NSImageNameIChatTheaterTemplate", "AppKit")]
internal static NSString NSImageNameIChatTheaterTemplate
{
get
{
if (_NSImageNameIChatTheaterTemplate == null)
{
_NSImageNameIChatTheaterTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameIChatTheaterTemplate");
}
return _NSImageNameIChatTheaterTemplate;
}
}
[Field("NSImageNameSlideshowTemplate", "AppKit")]
internal static NSString NSImageNameSlideshowTemplate
{
get
{
if (_NSImageNameSlideshowTemplate == null)
{
_NSImageNameSlideshowTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameSlideshowTemplate");
}
return _NSImageNameSlideshowTemplate;
}
}
[Field("NSImageNameActionTemplate", "AppKit")]
internal static NSString NSImageNameActionTemplate
{
get
{
if (_NSImageNameActionTemplate == null)
{
_NSImageNameActionTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameActionTemplate");
}
return _NSImageNameActionTemplate;
}
}
[Field("NSImageNameSmartBadgeTemplate", "AppKit")]
internal static NSString NSImageNameSmartBadgeTemplate
{
get
{
if (_NSImageNameSmartBadgeTemplate == null)
{
_NSImageNameSmartBadgeTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameSmartBadgeTemplate");
}
return _NSImageNameSmartBadgeTemplate;
}
}
[Field("NSImageNamePathTemplate", "AppKit")]
internal static NSString NSImageNamePathTemplate
{
get
{
if (_NSImageNamePathTemplate == null)
{
_NSImageNamePathTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNamePathTemplate");
}
return _NSImageNamePathTemplate;
}
}
[Field("NSImageNameInvalidDataFreestandingTemplate", "AppKit")]
internal static NSString NSImageNameInvalidDataFreestandingTemplate
{
get
{
if (_NSImageNameInvalidDataFreestandingTemplate == null)
{
_NSImageNameInvalidDataFreestandingTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameInvalidDataFreestandingTemplate");
}
return _NSImageNameInvalidDataFreestandingTemplate;
}
}
[Field("NSImageNameLockLockedTemplate", "AppKit")]
internal static NSString NSImageNameLockLockedTemplate
{
get
{
if (_NSImageNameLockLockedTemplate == null)
{
_NSImageNameLockLockedTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameLockLockedTemplate");
}
return _NSImageNameLockLockedTemplate;
}
}
[Field("NSImageNameLockUnlockedTemplate", "AppKit")]
internal static NSString NSImageNameLockUnlockedTemplate
{
get
{
if (_NSImageNameLockUnlockedTemplate == null)
{
_NSImageNameLockUnlockedTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameLockUnlockedTemplate");
}
return _NSImageNameLockUnlockedTemplate;
}
}
[Field("NSImageNameGoRightTemplate", "AppKit")]
internal static NSString NSImageNameGoRightTemplate
{
get
{
if (_NSImageNameGoRightTemplate == null)
{
_NSImageNameGoRightTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameGoRightTemplate");
}
return _NSImageNameGoRightTemplate;
}
}
[Field("NSImageNameGoLeftTemplate", "AppKit")]
internal static NSString NSImageNameGoLeftTemplate
{
get
{
if (_NSImageNameGoLeftTemplate == null)
{
_NSImageNameGoLeftTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameGoLeftTemplate");
}
return _NSImageNameGoLeftTemplate;
}
}
[Field("NSImageNameRightFacingTriangleTemplate", "AppKit")]
internal static NSString NSImageNameRightFacingTriangleTemplate
{
get
{
if (_NSImageNameRightFacingTriangleTemplate == null)
{
_NSImageNameRightFacingTriangleTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameRightFacingTriangleTemplate");
}
return _NSImageNameRightFacingTriangleTemplate;
}
}
[Field("NSImageNameLeftFacingTriangleTemplate", "AppKit")]
internal static NSString NSImageNameLeftFacingTriangleTemplate
{
get
{
if (_NSImageNameLeftFacingTriangleTemplate == null)
{
_NSImageNameLeftFacingTriangleTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameLeftFacingTriangleTemplate");
}
return _NSImageNameLeftFacingTriangleTemplate;
}
}
[Field("NSImageNameAddTemplate", "AppKit")]
internal static NSString NSImageNameAddTemplate
{
get
{
if (_NSImageNameAddTemplate == null)
{
_NSImageNameAddTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameAddTemplate");
}
return _NSImageNameAddTemplate;
}
}
[Field("NSImageNameRemoveTemplate", "AppKit")]
internal static NSString NSImageNameRemoveTemplate
{
get
{
if (_NSImageNameRemoveTemplate == null)
{
_NSImageNameRemoveTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameRemoveTemplate");
}
return _NSImageNameRemoveTemplate;
}
}
[Field("NSImageNameRevealFreestandingTemplate", "AppKit")]
internal static NSString NSImageNameRevealFreestandingTemplate
{
get
{
if (_NSImageNameRevealFreestandingTemplate == null)
{
_NSImageNameRevealFreestandingTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameRevealFreestandingTemplate");
}
return _NSImageNameRevealFreestandingTemplate;
}
}
[Field("NSImageNameFollowLinkFreestandingTemplate", "AppKit")]
internal static NSString NSImageNameFollowLinkFreestandingTemplate
{
get
{
if (_NSImageNameFollowLinkFreestandingTemplate == null)
{
_NSImageNameFollowLinkFreestandingTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameFollowLinkFreestandingTemplate");
}
return _NSImageNameFollowLinkFreestandingTemplate;
}
}
[Field("NSImageNameEnterFullScreenTemplate", "AppKit")]
internal static NSString NSImageNameEnterFullScreenTemplate
{
get
{
if (_NSImageNameEnterFullScreenTemplate == null)
{
_NSImageNameEnterFullScreenTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameEnterFullScreenTemplate");
}
return _NSImageNameEnterFullScreenTemplate;
}
}
[Field("NSImageNameExitFullScreenTemplate", "AppKit")]
internal static NSString NSImageNameExitFullScreenTemplate
{
get
{
if (_NSImageNameExitFullScreenTemplate == null)
{
_NSImageNameExitFullScreenTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameExitFullScreenTemplate");
}
return _NSImageNameExitFullScreenTemplate;
}
}
[Field("NSImageNameStopProgressTemplate", "AppKit")]
internal static NSString NSImageNameStopProgressTemplate
{
get
{
if (_NSImageNameStopProgressTemplate == null)
{
_NSImageNameStopProgressTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameStopProgressTemplate");
}
return _NSImageNameStopProgressTemplate;
}
}
[Field("NSImageNameStopProgressFreestandingTemplate", "AppKit")]
internal static NSString NSImageNameStopProgressFreestandingTemplate
{
get
{
if (_NSImageNameStopProgressFreestandingTemplate == null)
{
_NSImageNameStopProgressFreestandingTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameStopProgressFreestandingTemplate");
}
return _NSImageNameStopProgressFreestandingTemplate;
}
}
[Field("NSImageNameRefreshTemplate", "AppKit")]
internal static NSString NSImageNameRefreshTemplate
{
get
{
if (_NSImageNameRefreshTemplate == null)
{
_NSImageNameRefreshTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameRefreshTemplate");
}
return _NSImageNameRefreshTemplate;
}
}
[Field("NSImageNameRefreshFreestandingTemplate", "AppKit")]
internal static NSString NSImageNameRefreshFreestandingTemplate
{
get
{
if (_NSImageNameRefreshFreestandingTemplate == null)
{
_NSImageNameRefreshFreestandingTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameRefreshFreestandingTemplate");
}
return _NSImageNameRefreshFreestandingTemplate;
}
}
[Field("NSImageNameFolder", "AppKit")]
internal static NSString NSImageNameFolder
{
get
{
if (_NSImageNameFolder == null)
{
_NSImageNameFolder = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameFolder");
}
return _NSImageNameFolder;
}
}
[Field("NSImageNameTrashEmpty", "AppKit")]
internal static NSString NSImageNameTrashEmpty
{
get
{
if (_NSImageNameTrashEmpty == null)
{
_NSImageNameTrashEmpty = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameTrashEmpty");
}
return _NSImageNameTrashEmpty;
}
}
[Field("NSImageNameTrashFull", "AppKit")]
internal static NSString NSImageNameTrashFull
{
get
{
if (_NSImageNameTrashFull == null)
{
_NSImageNameTrashFull = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameTrashFull");
}
return _NSImageNameTrashFull;
}
}
[Field("NSImageNameHomeTemplate", "AppKit")]
internal static NSString NSImageNameHomeTemplate
{
get
{
if (_NSImageNameHomeTemplate == null)
{
_NSImageNameHomeTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameHomeTemplate");
}
return _NSImageNameHomeTemplate;
}
}
[Field("NSImageNameBookmarksTemplate", "AppKit")]
internal static NSString NSImageNameBookmarksTemplate
{
get
{
if (_NSImageNameBookmarksTemplate == null)
{
_NSImageNameBookmarksTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameBookmarksTemplate");
}
return _NSImageNameBookmarksTemplate;
}
}
[Field("NSImageNameCaution", "AppKit")]
internal static NSString NSImageNameCaution
{
get
{
if (_NSImageNameCaution == null)
{
_NSImageNameCaution = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameCaution");
}
return _NSImageNameCaution;
}
}
[Field("NSImageNameStatusAvailable", "AppKit")]
internal static NSString NSImageNameStatusAvailable
{
get
{
if (_NSImageNameStatusAvailable == null)
{
_NSImageNameStatusAvailable = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameStatusAvailable");
}
return _NSImageNameStatusAvailable;
}
}
[Field("NSImageNameStatusPartiallyAvailable", "AppKit")]
internal static NSString NSImageNameStatusPartiallyAvailable
{
get
{
if (_NSImageNameStatusPartiallyAvailable == null)
{
_NSImageNameStatusPartiallyAvailable = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameStatusPartiallyAvailable");
}
return _NSImageNameStatusPartiallyAvailable;
}
}
[Field("NSImageNameStatusUnavailable", "AppKit")]
internal static NSString NSImageNameStatusUnavailable
{
get
{
if (_NSImageNameStatusUnavailable == null)
{
_NSImageNameStatusUnavailable = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameStatusUnavailable");
}
return _NSImageNameStatusUnavailable;
}
}
[Field("NSImageNameStatusNone", "AppKit")]
internal static NSString NSImageNameStatusNone
{
get
{
if (_NSImageNameStatusNone == null)
{
_NSImageNameStatusNone = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameStatusNone");
}
return _NSImageNameStatusNone;
}
}
[Field("NSImageNameApplicationIcon", "AppKit")]
internal static NSString NSImageNameApplicationIcon
{
get
{
if (_NSImageNameApplicationIcon == null)
{
_NSImageNameApplicationIcon = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameApplicationIcon");
}
return _NSImageNameApplicationIcon;
}
}
[Field("NSImageNameMenuOnStateTemplate", "AppKit")]
internal static NSString NSImageNameMenuOnStateTemplate
{
get
{
if (_NSImageNameMenuOnStateTemplate == null)
{
_NSImageNameMenuOnStateTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameMenuOnStateTemplate");
}
return _NSImageNameMenuOnStateTemplate;
}
}
[Field("NSImageNameMenuMixedStateTemplate", "AppKit")]
internal static NSString NSImageNameMenuMixedStateTemplate
{
get
{
if (_NSImageNameMenuMixedStateTemplate == null)
{
_NSImageNameMenuMixedStateTemplate = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameMenuMixedStateTemplate");
}
return _NSImageNameMenuMixedStateTemplate;
}
}
[Field("NSImageNameUserGuest", "AppKit")]
internal static NSString NSImageNameUserGuest
{
get
{
if (_NSImageNameUserGuest == null)
{
_NSImageNameUserGuest = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameUserGuest");
}
return _NSImageNameUserGuest;
}
}
[Field("NSImageNameMobileMe", "AppKit")]
internal static NSString NSImageNameMobileMe
{
get
{
if (_NSImageNameMobileMe == null)
{
_NSImageNameMobileMe = Dlfcn.GetStringConstant(Libraries.AppKit.Handle, "NSImageNameMobileMe");
}
return _NSImageNameMobileMe;
}
}
public NSImageRect ImageDidNotDraw
{
get
{
return EnsureNSImageDelegate().imageDidNotDraw;
}
set
{
EnsureNSImageDelegate().imageDidNotDraw = value;
}
}
public event EventHandler<NSImageLoadEventArgs> WillLoadRepresentation
{
add
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.willLoadRepresentation = (EventHandler<NSImageLoadEventArgs>)System.Delegate.Combine(nSImageDelegate.willLoadRepresentation, value);
}
remove
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.willLoadRepresentation = (EventHandler<NSImageLoadEventArgs>)System.Delegate.Remove(nSImageDelegate.willLoadRepresentation, value);
}
}
public event EventHandler<NSImageLoadEventArgs> DidLoadRepresentationHeader
{
add
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.didLoadRepresentationHeader = (EventHandler<NSImageLoadEventArgs>)System.Delegate.Combine(nSImageDelegate.didLoadRepresentationHeader, value);
}
remove
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.didLoadRepresentationHeader = (EventHandler<NSImageLoadEventArgs>)System.Delegate.Remove(nSImageDelegate.didLoadRepresentationHeader, value);
}
}
public event EventHandler<NSImagePartialEventArgs> DidLoadPartOfRepresentation
{
add
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.didLoadPartOfRepresentation = (EventHandler<NSImagePartialEventArgs>)System.Delegate.Combine(nSImageDelegate.didLoadPartOfRepresentation, value);
}
remove
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.didLoadPartOfRepresentation = (EventHandler<NSImagePartialEventArgs>)System.Delegate.Remove(nSImageDelegate.didLoadPartOfRepresentation, value);
}
}
public event EventHandler<NSImageLoadRepresentationEventArgs> DidLoadRepresentation
{
add
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.didLoadRepresentation = (EventHandler<NSImageLoadRepresentationEventArgs>)System.Delegate.Combine(nSImageDelegate.didLoadRepresentation, value);
}
remove
{
_NSImageDelegate nSImageDelegate = EnsureNSImageDelegate();
nSImageDelegate.didLoadRepresentation = (EventHandler<NSImageLoadRepresentationEventArgs>)System.Delegate.Remove(nSImageDelegate.didLoadRepresentation, value);
}
}
public static NSImage FromStream(Stream stream)
{
using (NSData data = NSData.FromStream(stream))
{
return new NSImage(data);
}
}
public static NSImage ImageNamed(NSImageName name)
{
switch (name)
{
case NSImageName.QuickLookTemplate:
return ImageNamed(NSImageNameQuickLookTemplate);
case NSImageName.BluetoothTemplate:
return ImageNamed(NSImageNameBluetoothTemplate);
case NSImageName.IChatTheaterTemplate:
return ImageNamed(NSImageNameIChatTheaterTemplate);
case NSImageName.SlideshowTemplate:
return ImageNamed(NSImageNameSlideshowTemplate);
case NSImageName.ActionTemplate:
return ImageNamed(NSImageNameActionTemplate);
case NSImageName.SmartBadgeTemplate:
return ImageNamed(NSImageNameSmartBadgeTemplate);
case NSImageName.PathTemplate:
return ImageNamed(NSImageNamePathTemplate);
case NSImageName.InvalidDataFreestandingTemplate:
return ImageNamed(NSImageNameInvalidDataFreestandingTemplate);
case NSImageName.LockLockedTemplate:
return ImageNamed(NSImageNameLockLockedTemplate);
case NSImageName.LockUnlockedTemplate:
return ImageNamed(NSImageNameLockUnlockedTemplate);
case NSImageName.GoRightTemplate:
return ImageNamed(NSImageNameGoRightTemplate);
case NSImageName.GoLeftTemplate:
return ImageNamed(NSImageNameGoLeftTemplate);
case NSImageName.RightFacingTriangleTemplate:
return ImageNamed(NSImageNameRightFacingTriangleTemplate);
case NSImageName.LeftFacingTriangleTemplate:
return ImageNamed(NSImageNameLeftFacingTriangleTemplate);
case NSImageName.AddTemplate:
return ImageNamed(NSImageNameAddTemplate);
case NSImageName.RemoveTemplate:
return ImageNamed(NSImageNameRemoveTemplate);
case NSImageName.RevealFreestandingTemplate:
return ImageNamed(NSImageNameRevealFreestandingTemplate);
case NSImageName.FollowLinkFreestandingTemplate:
return ImageNamed(NSImageNameFollowLinkFreestandingTemplate);
case NSImageName.EnterFullScreenTemplate:
return ImageNamed(NSImageNameEnterFullScreenTemplate);
case NSImageName.ExitFullScreenTemplate:
return ImageNamed(NSImageNameExitFullScreenTemplate);
case NSImageName.StopProgressTemplate:
return ImageNamed(NSImageNameStopProgressTemplate);
case NSImageName.StopProgressFreestandingTemplate:
return ImageNamed(NSImageNameStopProgressFreestandingTemplate);
case NSImageName.RefreshTemplate:
return ImageNamed(NSImageNameRefreshTemplate);
case NSImageName.RefreshFreestandingTemplate:
return ImageNamed(NSImageNameRefreshFreestandingTemplate);
case NSImageName.Folder:
return ImageNamed(NSImageNameFolder);
case NSImageName.TrashEmpty:
return ImageNamed(NSImageNameTrashEmpty);
case NSImageName.TrashFull:
return ImageNamed(NSImageNameTrashFull);
case NSImageName.HomeTemplate:
return ImageNamed(NSImageNameHomeTemplate);
case NSImageName.BookmarksTemplate:
return ImageNamed(NSImageNameBookmarksTemplate);
case NSImageName.Caution:
return ImageNamed(NSImageNameCaution);
case NSImageName.StatusAvailable:
return ImageNamed(NSImageNameStatusAvailable);
case NSImageName.StatusPartiallyAvailable:
return ImageNamed(NSImageNameStatusPartiallyAvailable);
case NSImageName.StatusUnavailable:
return ImageNamed(NSImageNameStatusUnavailable);
case NSImageName.StatusNone:
return ImageNamed(NSImageNameStatusNone);
case NSImageName.ApplicationIcon:
return ImageNamed(NSImageNameApplicationIcon);
case NSImageName.MenuOnStateTemplate:
return ImageNamed(NSImageNameMenuOnStateTemplate);
case NSImageName.MenuMixedStateTemplate:
return ImageNamed(NSImageNameMenuMixedStateTemplate);
case NSImageName.UserGuest:
return ImageNamed(NSImageNameUserGuest);
case NSImageName.MobileMe:
return ImageNamed(NSImageNameMobileMe);
default:
throw new ArgumentException("Invalid enum value", "name");
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
[Export("init")]
public NSImage()
: 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 NSImage(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 NSImage(NSObjectFlag t)
: base(t)
{
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
public NSImage(IntPtr handle)
: base(handle)
{
}
[Export("imageNamed:")]
public static NSImage ImageNamed(string name)
{
NSApplication.EnsureUIThread();
if (name == null)
{
throw new ArgumentNullException("name");
}
IntPtr intPtr = NSString.CreateNative(name);
NSImage result = (NSImage)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selImageNamed_Handle, intPtr));
NSString.ReleaseNative(intPtr);
return result;
}
[Export("initWithSize:")]
public NSImage(CGSize aSize)
: base(NSObjectFlag.Empty)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_CGSize(base.Handle, selInitWithSize_Handle, aSize);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_CGSize(base.SuperHandle, selInitWithSize_Handle, aSize);
}
}
[Export("initWithData:")]
public NSImage(NSData data)
: base(NSObjectFlag.Empty)
{
NSApplication.EnsureUIThread();
if (data == null)
{
throw new ArgumentNullException("data");
}
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selInitWithData_Handle, data.Handle);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selInitWithData_Handle, data.Handle);
}
}
[Export("initWithContentsOfFile:")]
public NSImage(string fileName)
: base(NSObjectFlag.Empty)
{
NSApplication.EnsureUIThread();
if (fileName == null)
{
throw new ArgumentNullException("fileName");
}
IntPtr intPtr = NSString.CreateNative(fileName);
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selInitWithContentsOfFile_Handle, intPtr);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selInitWithContentsOfFile_Handle, intPtr);
}
NSString.ReleaseNative(intPtr);
}
[Export("initWithContentsOfURL:")]
public NSImage(NSUrl url)
: base(NSObjectFlag.Empty)
{
NSApplication.EnsureUIThread();
if (url == null)
{
throw new ArgumentNullException("url");
}
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selInitWithContentsOfURL_Handle, url.Handle);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selInitWithContentsOfURL_Handle, url.Handle);
}
}
[Export("initWithPasteboard:")]
public NSImage(NSPasteboard pasteboard)
: base(NSObjectFlag.Empty)
{
NSApplication.EnsureUIThread();
if (pasteboard == null)
{
throw new ArgumentNullException("pasteboard");
}
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selInitWithPasteboard_Handle, pasteboard.Handle);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selInitWithPasteboard_Handle, pasteboard.Handle);
}
}
[Export("drawAtPoint:fromRect:operation:fraction:")]
public virtual void Draw(CGPoint point, CGRect fromRect, NSCompositingOperation op, double delta)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_CGPoint_CGRect_UInt64_Double(base.Handle, selDrawAtPointFromRectOperationFraction_Handle, point, fromRect, (ulong)op, delta);
}
else
{
Messaging.void_objc_msgSendSuper_CGPoint_CGRect_UInt64_Double(base.SuperHandle, selDrawAtPointFromRectOperationFraction_Handle, point, fromRect, (ulong)op, delta);
}
}
[Export("drawInRect:fromRect:operation:fraction:")]
public virtual void Draw(CGRect rect, CGRect fromRect, NSCompositingOperation op, double delta)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_CGRect_CGRect_UInt64_Double(base.Handle, selDrawInRectFromRectOperationFraction_Handle, rect, fromRect, (ulong)op, delta);
}
else
{
Messaging.void_objc_msgSendSuper_CGRect_CGRect_UInt64_Double(base.SuperHandle, selDrawInRectFromRectOperationFraction_Handle, rect, fromRect, (ulong)op, delta);
}
}
[Export("drawInRect:fromRect:operation:fraction:respectFlipped:hints:")]
public virtual void Draw(CGRect dstSpacePortionRect, CGRect srcSpacePortionRect, NSCompositingOperation op, double requestedAlpha, bool respectContextIsFlipped, NSDictionary hints)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_CGRect_CGRect_UInt64_Double_bool_IntPtr(base.Handle, selDrawInRectFromRectOperationFractionRespectFlippedHints_Handle, dstSpacePortionRect, srcSpacePortionRect, (ulong)op, requestedAlpha, respectContextIsFlipped, hints?.Handle ?? IntPtr.Zero);
}
else
{
Messaging.void_objc_msgSendSuper_CGRect_CGRect_UInt64_Double_bool_IntPtr(base.SuperHandle, selDrawInRectFromRectOperationFractionRespectFlippedHints_Handle, dstSpacePortionRect, srcSpacePortionRect, (ulong)op, requestedAlpha, respectContextIsFlipped, hints?.Handle ?? IntPtr.Zero);
}
}
[Export("drawRepresentation:inRect:")]
public virtual bool Draw(NSImageRep imageRep, CGRect rect)
{
NSApplication.EnsureUIThread();
if (imageRep == null)
{
throw new ArgumentNullException("imageRep");
}
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend_IntPtr_CGRect(base.Handle, selDrawRepresentationInRect_Handle, imageRep.Handle, rect);
}
return Messaging.bool_objc_msgSendSuper_IntPtr_CGRect(base.SuperHandle, selDrawRepresentationInRect_Handle, imageRep.Handle, rect);
}
[Export("recache")]
public virtual void Recache()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend(base.Handle, selRecacheHandle);
}
else
{
Messaging.void_objc_msgSendSuper(base.SuperHandle, selRecacheHandle);
}
}
[Export("TIFFRepresentation")]
public virtual NSData AsTiff()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSData)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selTIFFRepresentationHandle));
}
return (NSData)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selTIFFRepresentationHandle));
}
[Export("TIFFRepresentationUsingCompression:factor:")]
public virtual NSData AsTiff(NSTiffCompression comp, double aFloat)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSData)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_UInt64_Double(base.Handle, selTIFFRepresentationUsingCompressionFactor_Handle, (ulong)comp, aFloat));
}
return (NSData)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_UInt64_Double(base.SuperHandle, selTIFFRepresentationUsingCompressionFactor_Handle, (ulong)comp, aFloat));
}
[Export("representations")]
public virtual NSImageRep[] Representations()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return NSArray.ArrayFromHandle<NSImageRep>(Messaging.IntPtr_objc_msgSend(base.Handle, selRepresentationsHandle));
}
return NSArray.ArrayFromHandle<NSImageRep>(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selRepresentationsHandle));
}
[Export("addRepresentations:")]
public virtual void AddRepresentations(NSImageRep[] imageReps)
{
NSApplication.EnsureUIThread();
if (imageReps == null)
{
throw new ArgumentNullException("imageReps");
}
NSArray nSArray = NSArray.FromNSObjects(imageReps);
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selAddRepresentations_Handle, nSArray.Handle);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selAddRepresentations_Handle, nSArray.Handle);
}
__mt_reps_var = Representations();
nSArray.Dispose();
}
[Export("addRepresentation:")]
public virtual void AddRepresentation(NSImageRep imageRep)
{
NSApplication.EnsureUIThread();
if (imageRep == null)
{
throw new ArgumentNullException("imageRep");
}
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selAddRepresentation_Handle, imageRep.Handle);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selAddRepresentation_Handle, imageRep.Handle);
}
__mt_reps_var = Representations();
}
[Export("removeRepresentation:")]
public virtual void RemoveRepresentation(NSImageRep imageRep)
{
NSApplication.EnsureUIThread();
if (imageRep == null)
{
throw new ArgumentNullException("imageRep");
}
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr(base.Handle, selRemoveRepresentation_Handle, imageRep.Handle);
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selRemoveRepresentation_Handle, imageRep.Handle);
}
__mt_reps_var = Representations();
}
[Export("lockFocus")]
public virtual void LockFocus()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend(base.Handle, selLockFocusHandle);
}
else
{
Messaging.void_objc_msgSendSuper(base.SuperHandle, selLockFocusHandle);
}
}
[Export("lockFocusFlipped:")]
public virtual void LockFocusFlipped(bool flipped)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_bool(base.Handle, selLockFocusFlipped_Handle, flipped);
}
else
{
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selLockFocusFlipped_Handle, flipped);
}
}
[Export("unlockFocus")]
public virtual void UnlockFocus()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend(base.Handle, selUnlockFocusHandle);
}
else
{
Messaging.void_objc_msgSendSuper(base.SuperHandle, selUnlockFocusHandle);
}
}
[Export("bestRepresentationForDevice:")]
public virtual NSImageRep BestRepresentationForDevice(NSDictionary deviceDescription)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSImageRep)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selBestRepresentationForDevice_Handle, deviceDescription?.Handle ?? IntPtr.Zero));
}
return (NSImageRep)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selBestRepresentationForDevice_Handle, deviceDescription?.Handle ?? IntPtr.Zero));
}
[Export("imageUnfilteredFileTypes")]
public static NSObject[] ImageUnfilteredFileTypes()
{
NSApplication.EnsureUIThread();
return NSArray.ArrayFromHandle<NSObject>(Messaging.IntPtr_objc_msgSend(class_ptr, selImageUnfilteredFileTypesHandle));
}
[Export("imageUnfilteredPasteboardTypes")]
public static string[] ImageUnfilteredPasteboardTypes()
{
NSApplication.EnsureUIThread();
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(class_ptr, selImageUnfilteredPasteboardTypesHandle));
}
[Export("canInitWithPasteboard:")]
public static bool CanInitWithPasteboard(NSPasteboard pasteboard)
{
NSApplication.EnsureUIThread();
if (pasteboard == null)
{
throw new ArgumentNullException("pasteboard");
}
return Messaging.bool_objc_msgSend_IntPtr(class_ptr, selCanInitWithPasteboard_Handle, pasteboard.Handle);
}
[Export("cancelIncrementalLoad")]
public virtual void CancelIncrementalLoad()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend(base.Handle, selCancelIncrementalLoadHandle);
}
else
{
Messaging.void_objc_msgSendSuper(base.SuperHandle, selCancelIncrementalLoadHandle);
}
}
[Export("initWithCGImage:size:")]
public NSImage(CGImage cgImage, CGSize size)
: base(NSObjectFlag.Empty)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr_CGSize(base.Handle, selInitWithCGImageSize_Handle, cgImage.Handle, size);
}
else
{
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr_CGSize(base.SuperHandle, selInitWithCGImageSize_Handle, cgImage.Handle, size);
}
}
[Export("CGImageForProposedRect:context:hints:")]
public virtual CGImage AsCGImage(ref CGRect proposedDestRect, NSGraphicsContext referenceContext, NSDictionary hints)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return new CGImage(Messaging.IntPtr_objc_msgSend_out_CGRect_IntPtr_IntPtr(base.Handle, selCGImageForProposedRectContextHints_Handle, out proposedDestRect, referenceContext?.Handle ?? IntPtr.Zero, hints?.Handle ?? IntPtr.Zero));
}
return new CGImage(Messaging.IntPtr_objc_msgSendSuper_out_CGRect_IntPtr_IntPtr(base.SuperHandle, selCGImageForProposedRectContextHints_Handle, out proposedDestRect, referenceContext?.Handle ?? IntPtr.Zero, hints?.Handle ?? IntPtr.Zero));
}
[Export("bestRepresentationForRect:context:hints:")]
public virtual NSImageRep BestRepresentation(CGRect rect, NSGraphicsContext referenceContext, NSDictionary hints)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return (NSImageRep)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_CGRect_IntPtr_IntPtr(base.Handle, selBestRepresentationForRectContextHints_Handle, rect, referenceContext?.Handle ?? IntPtr.Zero, hints?.Handle ?? IntPtr.Zero));
}
return (NSImageRep)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_CGRect_IntPtr_IntPtr(base.SuperHandle, selBestRepresentationForRectContextHints_Handle, rect, referenceContext?.Handle ?? IntPtr.Zero, hints?.Handle ?? IntPtr.Zero));
}
[Export("hitTestRect:withImageDestinationRect:context:hints:flipped:")]
public virtual bool HitTestRect(CGRect testRectDestSpace, CGRect imageRectDestSpace, NSGraphicsContext context, NSDictionary hints, bool flipped)
{
NSApplication.EnsureUIThread();
if (context == null)
{
throw new ArgumentNullException("context");
}
if (hints == null)
{
throw new ArgumentNullException("hints");
}
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend_CGRect_CGRect_IntPtr_IntPtr_bool(base.Handle, selHitTestRectWithImageDestinationRectContextHintsFlipped_Handle, testRectDestSpace, imageRectDestSpace, context.Handle, hints.Handle, flipped);
}
return Messaging.bool_objc_msgSendSuper_CGRect_CGRect_IntPtr_IntPtr_bool(base.SuperHandle, selHitTestRectWithImageDestinationRectContextHintsFlipped_Handle, testRectDestSpace, imageRectDestSpace, context.Handle, hints.Handle, flipped);
}
[Export("name")]
internal virtual string GetName()
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selNameHandle));
}
return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selNameHandle));
}
[Export("setName:")]
internal virtual bool SetName(string aString)
{
NSApplication.EnsureUIThread();
if (aString == null)
{
throw new ArgumentNullException("aString");
}
IntPtr intPtr = NSString.CreateNative(aString);
bool result = (!IsDirectBinding) ? Messaging.bool_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetName_Handle, intPtr) : Messaging.bool_objc_msgSend_IntPtr(base.Handle, selSetName_Handle, intPtr);
NSString.ReleaseNative(intPtr);
return result;
}
public CGSize StringSize(string str, NSDictionary attributes)
{
NSApplication.EnsureUIThread();
if (str == null)
{
throw new ArgumentNullException("str");
}
if (attributes == null)
{
throw new ArgumentNullException("attributes");
}
IntPtr intPtr = NSString.CreateNative(str);
CGSize result = Messaging.CGSize_objc_msgSend_IntPtr(intPtr, selSizeWithAttributes_Handle, attributes.Handle);
NSString.ReleaseNative(intPtr);
return result;
}
public void DrawInRect(string str, CGRect rect, NSDictionary attributes)
{
NSApplication.EnsureUIThread();
if (str == null)
{
throw new ArgumentNullException("str");
}
if (attributes == null)
{
throw new ArgumentNullException("attributes");
}
IntPtr intPtr = NSString.CreateNative(str);
Messaging.void_objc_msgSend_CGRect_IntPtr(intPtr, selDrawInRectWithAttributes_Handle, rect, attributes.Handle);
NSString.ReleaseNative(intPtr);
}
[Export("drawInRect:fromRect:operation:fraction:")]
public virtual void DrawInRect(CGRect dstRect, CGRect srcRect, NSCompositingOperation operation, double delta)
{
NSApplication.EnsureUIThread();
if (IsDirectBinding)
{
Messaging.void_objc_msgSend_CGRect_CGRect_UInt64_Double(base.Handle, selDrawInRectFromRectOperationFraction_Handle, dstRect, srcRect, (ulong)operation, delta);
}
else
{
Messaging.void_objc_msgSendSuper_CGRect_CGRect_UInt64_Double(base.SuperHandle, selDrawInRectFromRectOperationFraction_Handle, dstRect, srcRect, (ulong)operation, delta);
}
}
private _NSImageDelegate EnsureNSImageDelegate()
{
NSObject nSObject = WeakDelegate;
if (nSObject == null || !(nSObject is _NSImageDelegate))
{
nSObject = (WeakDelegate = new _NSImageDelegate());
}
return (_NSImageDelegate)nSObject;
}
protected override void Dispose(bool disposing)
{
__mt_reps_var = null;
base.Dispose(disposing);
if (base.Handle == IntPtr.Zero)
{
__mt_BackgroundColor_var = null;
__mt_WeakDelegate_var = null;
}
}
}
}