Mercurial > projects > dstep
diff dstep/appkit/NSImage.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | |
children | f8a3b67adfcb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/appkit/NSImage.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,913 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Sep 24, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.appkit.NSImage; + +import dstep.appkit.NSBitmapImageRep; +import dstep.appkit.NSColor; +import dstep.appkit.NSGraphics; +import dstep.appkit.NSImageRep; +import dstep.appkit.NSPasteboard; +import dstep.applicationservices.ApplicationServices; +import dstep.foundation.NSArray; +import dstep.foundation.NSBundle; +import dstep.foundation.NSCoder; +import dstep.foundation.NSData; +import dstep.foundation.NSDictionary; +import dstep.foundation.NSGeometry; +import dstep.foundation.NSObjCRuntime; +import dstep.foundation.NSObject; +import dstep.foundation.NSString; +import dstep.foundation.NSURL; +import dstep.foundation.NSZone; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; + +import bindings = dstep.appkit.NSImage_bindings; + +typedef NSUInteger NSImageLoadStatus; +typedef NSUInteger NSImageCacheMode; + +private struct OpaqueIconRef; +alias OpaqueIconRef* IconRef; + +private +{ + NSString NSImageNameQuickLookTemplate_; + NSString NSImageNameBluetoothTemplate_; + NSString NSImageNameIChatTheaterTemplate_; + NSString NSImageNameSlideshowTemplate_; + NSString NSImageNameActionTemplate_; + NSString NSImageNameSmartBadgeTemplate_; + NSString NSImageNameIconViewTemplate_; + NSString NSImageNameListViewTemplate_; + NSString NSImageNameColumnViewTemplate_; + NSString NSImageNameFlowViewTemplate_; + NSString NSImageNamePathTemplate_; + NSString NSImageNameInvalidDataFreestandingTemplate_; + NSString NSImageNameLockLockedTemplate_; + NSString NSImageNameLockUnlockedTemplate_; + NSString NSImageNameGoRightTemplate_; + NSString NSImageNameGoLeftTemplate_; + NSString NSImageNameRightFacingTriangleTemplate_; + NSString NSImageNameLeftFacingTriangleTemplate_; + NSString NSImageNameAddTemplate_; + NSString NSImageNameRemoveTemplate_; + NSString NSImageNameRevealFreestandingTemplate_; + NSString NSImageNameFollowLinkFreestandingTemplate_; + NSString NSImageNameEnterFullScreenTemplate_; + NSString NSImageNameExitFullScreenTemplate_; + NSString NSImageNameStopProgressTemplate_; + NSString NSImageNameStopProgressFreestandingTemplate_; + NSString NSImageNameRefreshTemplate_; + NSString NSImageNameRefreshFreestandingTemplate_; + NSString NSImageNameBonjour_; + NSString NSImageNameDotMac_; + NSString NSImageNameComputer_; + NSString NSImageNameFolderBurnable_; + NSString NSImageNameFolderSmart_; + NSString NSImageNameNetwork_; + NSString NSImageNameMultipleDocuments_; + NSString NSImageNameUserAccounts_; + NSString NSImageNamePreferencesGeneral_; + NSString NSImageNameAdvanced_; + NSString NSImageNameInfo_; + NSString NSImageNameFontPanel_; + NSString NSImageNameColorPanel_; + NSString NSImageNameUser_; + NSString NSImageNameUserGroup_; + NSString NSImageNameEveryone_; +} + +NSString NSImageNameQuickLookTemplate () +{ + if (NSImageNameQuickLookTemplate_) + return NSImageNameQuickLookTemplate_; + + return NSImageNameQuickLookTemplate_ = new NSString(bindings.NSImageNameQuickLookTemplate); +} + +NSString NSImageNameBluetoothTemplate () +{ + if (NSImageNameBluetoothTemplate_) + return NSImageNameBluetoothTemplate_; + + return NSImageNameBluetoothTemplate_ = new NSString(bindings.NSImageNameBluetoothTemplate); +} + +NSString NSImageNameIChatTheaterTemplate () +{ + if (NSImageNameIChatTheaterTemplate_) + return NSImageNameIChatTheaterTemplate_; + + return NSImageNameIChatTheaterTemplate_ = new NSString(bindings.NSImageNameIChatTheaterTemplate); +} + +NSString NSImageNameSlideshowTemplate () +{ + if (NSImageNameSlideshowTemplate_) + return NSImageNameSlideshowTemplate_; + + return NSImageNameSlideshowTemplate_ = new NSString(bindings.NSImageNameSlideshowTemplate); +} + +NSString NSImageNameActionTemplate () +{ + if (NSImageNameActionTemplate_) + return NSImageNameActionTemplate_; + + return NSImageNameActionTemplate_ = new NSString(bindings.NSImageNameActionTemplate); +} + +NSString NSImageNameSmartBadgeTemplate () +{ + if (NSImageNameSmartBadgeTemplate_) + return NSImageNameSmartBadgeTemplate_; + + return NSImageNameSmartBadgeTemplate_ = new NSString(bindings.NSImageNameSmartBadgeTemplate); +} + +NSString NSImageNameIconViewTemplate () +{ + if (NSImageNameIconViewTemplate_) + return NSImageNameIconViewTemplate_; + + return NSImageNameIconViewTemplate_ = new NSString(bindings.NSImageNameIconViewTemplate); +} + +NSString NSImageNameListViewTemplate () +{ + if (NSImageNameListViewTemplate_) + return NSImageNameListViewTemplate_; + + return NSImageNameListViewTemplate_ = new NSString(bindings.NSImageNameListViewTemplate); +} + +NSString NSImageNameColumnViewTemplate () +{ + if (NSImageNameColumnViewTemplate_) + return NSImageNameColumnViewTemplate_; + + return NSImageNameColumnViewTemplate_ = new NSString(bindings.NSImageNameColumnViewTemplate); +} + +NSString NSImageNameFlowViewTemplate () +{ + if (NSImageNameFlowViewTemplate_) + return NSImageNameFlowViewTemplate_; + + return NSImageNameFlowViewTemplate_ = new NSString(bindings.NSImageNameFlowViewTemplate); +} + +NSString NSImageNamePathTemplate () +{ + if (NSImageNamePathTemplate_) + return NSImageNamePathTemplate_; + + return NSImageNamePathTemplate_ = new NSString(bindings.NSImageNamePathTemplate); +} + +NSString NSImageNameInvalidDataFreestandingTemplate () +{ + if (NSImageNameInvalidDataFreestandingTemplate_) + return NSImageNameInvalidDataFreestandingTemplate_; + + return NSImageNameInvalidDataFreestandingTemplate_ = new NSString(bindings.NSImageNameInvalidDataFreestandingTemplate); +} + +NSString NSImageNameLockLockedTemplate () +{ + if (NSImageNameLockLockedTemplate_) + return NSImageNameLockLockedTemplate_; + + return NSImageNameLockLockedTemplate_ = new NSString(bindings.NSImageNameLockLockedTemplate); +} + +NSString NSImageNameLockUnlockedTemplate () +{ + if (NSImageNameLockUnlockedTemplate_) + return NSImageNameLockUnlockedTemplate_; + + return NSImageNameLockUnlockedTemplate_ = new NSString(bindings.NSImageNameLockUnlockedTemplate); +} + +NSString NSImageNameGoRightTemplate () +{ + if (NSImageNameGoRightTemplate_) + return NSImageNameGoRightTemplate_; + + return NSImageNameGoRightTemplate_ = new NSString(bindings.NSImageNameGoRightTemplate); +} + +NSString NSImageNameGoLeftTemplate () +{ + if (NSImageNameGoLeftTemplate_) + return NSImageNameGoLeftTemplate_; + + return NSImageNameGoLeftTemplate_ = new NSString(bindings.NSImageNameGoLeftTemplate); +} + +NSString NSImageNameRightFacingTriangleTemplate () +{ + if (NSImageNameRightFacingTriangleTemplate_) + return NSImageNameRightFacingTriangleTemplate_; + + return NSImageNameRightFacingTriangleTemplate_ = new NSString(bindings.NSImageNameRightFacingTriangleTemplate); +} + +NSString NSImageNameLeftFacingTriangleTemplate () +{ + if (NSImageNameLeftFacingTriangleTemplate_) + return NSImageNameLeftFacingTriangleTemplate_; + + return NSImageNameLeftFacingTriangleTemplate_ = new NSString(bindings.NSImageNameLeftFacingTriangleTemplate); +} + +NSString NSImageNameAddTemplate () +{ + if (NSImageNameAddTemplate_) + return NSImageNameAddTemplate_; + + return NSImageNameAddTemplate_ = new NSString(bindings.NSImageNameAddTemplate); +} + +NSString NSImageNameRemoveTemplate () +{ + if (NSImageNameRemoveTemplate_) + return NSImageNameRemoveTemplate_; + + return NSImageNameRemoveTemplate_ = new NSString(bindings.NSImageNameRemoveTemplate); +} + +NSString NSImageNameRevealFreestandingTemplate () +{ + if (NSImageNameRevealFreestandingTemplate_) + return NSImageNameRevealFreestandingTemplate_; + + return NSImageNameRevealFreestandingTemplate_ = new NSString(bindings.NSImageNameRevealFreestandingTemplate); +} + +NSString NSImageNameFollowLinkFreestandingTemplate () +{ + if (NSImageNameFollowLinkFreestandingTemplate_) + return NSImageNameFollowLinkFreestandingTemplate_; + + return NSImageNameFollowLinkFreestandingTemplate_ = new NSString(bindings.NSImageNameFollowLinkFreestandingTemplate); +} + +NSString NSImageNameEnterFullScreenTemplate () +{ + if (NSImageNameEnterFullScreenTemplate_) + return NSImageNameEnterFullScreenTemplate_; + + return NSImageNameEnterFullScreenTemplate_ = new NSString(bindings.NSImageNameEnterFullScreenTemplate); +} + +NSString NSImageNameExitFullScreenTemplate () +{ + if (NSImageNameExitFullScreenTemplate_) + return NSImageNameExitFullScreenTemplate_; + + return NSImageNameExitFullScreenTemplate_ = new NSString(bindings.NSImageNameExitFullScreenTemplate); +} + +NSString NSImageNameStopProgressTemplate () +{ + if (NSImageNameStopProgressTemplate_) + return NSImageNameStopProgressTemplate_; + + return NSImageNameStopProgressTemplate_ = new NSString(bindings.NSImageNameStopProgressTemplate); +} + +NSString NSImageNameStopProgressFreestandingTemplate () +{ + if (NSImageNameStopProgressFreestandingTemplate_) + return NSImageNameStopProgressFreestandingTemplate_; + + return NSImageNameStopProgressFreestandingTemplate_ = new NSString(bindings.NSImageNameStopProgressFreestandingTemplate); +} + +NSString NSImageNameRefreshTemplate () +{ + if (NSImageNameRefreshTemplate_) + return NSImageNameRefreshTemplate_; + + return NSImageNameRefreshTemplate_ = new NSString(bindings.NSImageNameRefreshTemplate); +} + +NSString NSImageNameRefreshFreestandingTemplate () +{ + if (NSImageNameRefreshFreestandingTemplate_) + return NSImageNameRefreshFreestandingTemplate_; + + return NSImageNameRefreshFreestandingTemplate_ = new NSString(bindings.NSImageNameRefreshFreestandingTemplate); +} + +NSString NSImageNameBonjour () +{ + if (NSImageNameBonjour_) + return NSImageNameBonjour_; + + return NSImageNameBonjour_ = new NSString(bindings.NSImageNameBonjour); +} + +NSString NSImageNameDotMac () +{ + if (NSImageNameDotMac_) + return NSImageNameDotMac_; + + return NSImageNameDotMac_ = new NSString(bindings.NSImageNameDotMac); +} + +NSString NSImageNameComputer () +{ + if (NSImageNameComputer_) + return NSImageNameComputer_; + + return NSImageNameComputer_ = new NSString(bindings.NSImageNameComputer); +} + +NSString NSImageNameFolderBurnable () +{ + if (NSImageNameFolderBurnable_) + return NSImageNameFolderBurnable_; + + return NSImageNameFolderBurnable_ = new NSString(bindings.NSImageNameFolderBurnable); +} + +NSString NSImageNameFolderSmart () +{ + if (NSImageNameFolderSmart_) + return NSImageNameFolderSmart_; + + return NSImageNameFolderSmart_ = new NSString(bindings.NSImageNameFolderSmart); +} + +NSString NSImageNameNetwork () +{ + if (NSImageNameNetwork_) + return NSImageNameNetwork_; + + return NSImageNameNetwork_ = new NSString(bindings.NSImageNameNetwork); +} + +NSString NSImageNameMultipleDocuments () +{ + if (NSImageNameMultipleDocuments_) + return NSImageNameMultipleDocuments_; + + return NSImageNameMultipleDocuments_ = new NSString(bindings.NSImageNameMultipleDocuments); +} + +NSString NSImageNameUserAccounts () +{ + if (NSImageNameUserAccounts_) + return NSImageNameUserAccounts_; + + return NSImageNameUserAccounts_ = new NSString(bindings.NSImageNameUserAccounts); +} + +NSString NSImageNamePreferencesGeneral () +{ + if (NSImageNamePreferencesGeneral_) + return NSImageNamePreferencesGeneral_; + + return NSImageNamePreferencesGeneral_ = new NSString(bindings.NSImageNamePreferencesGeneral); +} + +NSString NSImageNameAdvanced () +{ + if (NSImageNameAdvanced_) + return NSImageNameAdvanced_; + + return NSImageNameAdvanced_ = new NSString(bindings.NSImageNameAdvanced); +} + +NSString NSImageNameInfo () +{ + if (NSImageNameInfo_) + return NSImageNameInfo_; + + return NSImageNameInfo_ = new NSString(bindings.NSImageNameInfo); +} + +NSString NSImageNameFontPanel () +{ + if (NSImageNameFontPanel_) + return NSImageNameFontPanel_; + + return NSImageNameFontPanel_ = new NSString(bindings.NSImageNameFontPanel); +} + +NSString NSImageNameColorPanel () +{ + if (NSImageNameColorPanel_) + return NSImageNameColorPanel_; + + return NSImageNameColorPanel_ = new NSString(bindings.NSImageNameColorPanel); +} + +NSString NSImageNameUser () +{ + if (NSImageNameUser_) + return NSImageNameUser_; + + return NSImageNameUser_ = new NSString(bindings.NSImageNameUser); +} + +NSString NSImageNameUserGroup () +{ + if (NSImageNameUserGroup_) + return NSImageNameUserGroup_; + + return NSImageNameUserGroup_ = new NSString(bindings.NSImageNameUserGroup); +} + +NSString NSImageNameEveryone () +{ + if (NSImageNameEveryone_) + return NSImageNameEveryone_; + + return NSImageNameEveryone_ = new NSString(bindings.NSImageNameEveryone); +} + +enum +{ + NSImageLoadStatusCompleted, + NSImageLoadStatusCancelled, + NSImageLoadStatusInvalidData, + NSImageLoadStatusUnexpectedEOF, + NSImageLoadStatusReadError +} + +enum +{ + NSImageCacheDefault, + NSImageCacheAlways, + NSImageCacheBySize, + NSImageCacheNever +} + +class NSImage : NSObject, INSCopying, INSCoding +{ + mixin (ObjcWrap); + + this (NSCoder aDecoder) + { + super(typeof(this).alloc.initWithCoder(aDecoder).objcObject); + } + + void encodeWithCoder (NSCoder aCoder) + { + return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); + } + + typeof(this) initWithCoder (NSCoder aDecoder) + { + return invokeObjcSelf!(typeof(this), "initWithCoder:", NSCoder)(aDecoder); + } + + typeof(this) copyWithZone (NSZone* zone) + { + return invokeObjcSelf!(typeof(this), "copyWithZone:", NSZone*)(zone); + } + + static Object imageNamed (NSString name) + { + return invokeObjcSelfClass!(Object, "imageNamed:", NSString)(name); + } + + NSImage initWithSize (NSSize aSize) + { + id result = invokeObjcSelf!(id, "initWithSize:", NSSize)(aSize); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (NSSize aSize) + { + super(NSImage.alloc.initWithSize(aSize).objcObject); + } + + NSImage initWithData (NSData data) + { + id result = invokeObjcSelf!(id, "initWithData:", NSData)(data); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (NSData data) + { + super(NSImage.alloc.initWithData(data).objcObject); + } + + NSImage initWithContentsOfFile (NSString fileName) + { + id result = invokeObjcSelf!(id, "initWithContentsOfFile:", NSString)(fileName); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (NSString fileName) + { + super(NSImage.alloc.initWithContentsOfFile(fileName).objcObject); + } + + NSImage initWithContentsOfURL (NSURL url) + { + id result = invokeObjcSelf!(id, "initWithContentsOfURL:", NSURL)(url); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (NSURL url) + { + super(NSImage.alloc.initWithContentsOfURL(url).objcObject); + } + + NSImage initByReferencingFile (NSString fileName) + { + id result = invokeObjcSelf!(id, "initByReferencingFile:", NSString)(fileName); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (NSString fileName) + { + super(NSImage.alloc.initByReferencingFile(fileName).objcObject); + } + + NSImage initByReferencingURL (NSURL url) + { + id result = invokeObjcSelf!(id, "initByReferencingURL:", NSURL)(url); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (NSURL url) + { + super(NSImage.alloc.initByReferencingURL(url).objcObject); + } + + NSImage initWithIconRef (IconRef iconRef) + { + id result = invokeObjcSelf!(id, "initWithIconRef:", IconRef)(iconRef); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (IconRef iconRef) + { + super(NSImage.alloc.initWithIconRef(iconRef).objcObject); + } + + NSImage initWithPasteboard (NSPasteboard pasteboard) + { + id result = invokeObjcSelf!(id, "initWithPasteboard:", NSPasteboard)(pasteboard); + return result is this.objcObject ? this : (result !is null ? new NSImage(result) : null); + } + + this (NSPasteboard pasteboard) + { + super(NSImage.alloc.initWithPasteboard(pasteboard).objcObject); + } + + void setSize (NSSize aSize) + { + return invokeObjcSelf!(void, "setSize:", NSSize)(aSize); + } + + NSSize size () + { + return invokeObjcSelf!(NSSize, "size"); + } + + bool setName (NSString string) + { + return invokeObjcSelf!(bool, "setName:", NSString)(string); + } + + NSString name () + { + return invokeObjcSelf!(NSString, "name"); + } + + void setScalesWhenResized (bool flag) + { + return invokeObjcSelf!(void, "setScalesWhenResized:", bool)(flag); + } + + bool scalesWhenResized () + { + return invokeObjcSelf!(bool, "scalesWhenResized"); + } + + void setDataRetained (bool flag) + { + return invokeObjcSelf!(void, "setDataRetained:", bool)(flag); + } + + bool isDataRetained () + { + return invokeObjcSelf!(bool, "isDataRetained"); + } + + void setCachedSeparately (bool flag) + { + return invokeObjcSelf!(void, "setCachedSeparately:", bool)(flag); + } + + bool isCachedSeparately () + { + return invokeObjcSelf!(bool, "isCachedSeparately"); + } + + void setCacheDepthMatchesImageDepth (bool flag) + { + return invokeObjcSelf!(void, "setCacheDepthMatchesImageDepth:", bool)(flag); + } + + bool cacheDepthMatchesImageDepth () + { + return invokeObjcSelf!(bool, "cacheDepthMatchesImageDepth"); + } + + void setBackgroundColor (NSColor aColor) + { + return invokeObjcSelf!(void, "setBackgroundColor:", NSColor)(aColor); + } + + NSColor backgroundColor () + { + return invokeObjcSelf!(NSColor, "backgroundColor"); + } + + void setUsesEPSOnResolutionMismatch (bool flag) + { + return invokeObjcSelf!(void, "setUsesEPSOnResolutionMismatch:", bool)(flag); + } + + bool usesEPSOnResolutionMismatch () + { + return invokeObjcSelf!(bool, "usesEPSOnResolutionMismatch"); + } + + void setPrefersColorMatch (bool flag) + { + return invokeObjcSelf!(void, "setPrefersColorMatch:", bool)(flag); + } + + bool prefersColorMatch () + { + return invokeObjcSelf!(bool, "prefersColorMatch"); + } + + void setMatchesOnMultipleResolution (bool flag) + { + return invokeObjcSelf!(void, "setMatchesOnMultipleResolution:", bool)(flag); + } + + bool matchesOnMultipleResolution () + { + return invokeObjcSelf!(bool, "matchesOnMultipleResolution"); + } + + void dissolveToPoint (NSPoint point, CGFloat aFloat) + { + return invokeObjcSelf!(void, "dissolveToPoint:fraction:", NSPoint, CGFloat)(point, aFloat); + } + + void dissolveToPoint (NSPoint point, NSRect rect, CGFloat aFloat) + { + return invokeObjcSelf!(void, "dissolveToPoint:fromRect:fraction:", NSPoint, NSRect, CGFloat)(point, rect, aFloat); + } + + void compositeToPoint (NSPoint point, uint op) + { + return invokeObjcSelf!(void, "compositeToPoint:operation:", NSPoint, uint)(point, op); + } + + void compositeToPoint (NSPoint point, NSRect rect, uint op) + { + return invokeObjcSelf!(void, "compositeToPoint:fromRect:operation:", NSPoint, NSRect, uint)(point, rect, op); + } + + void compositeToPoint (NSPoint point, uint op, CGFloat delta) + { + return invokeObjcSelf!(void, "compositeToPoint:operation:fraction:", NSPoint, uint, CGFloat)(point, op, delta); + } + + void compositeToPoint (NSPoint point, NSRect rect, uint op, CGFloat delta) + { + return invokeObjcSelf!(void, "compositeToPoint:fromRect:operation:fraction:", NSPoint, NSRect, uint, CGFloat)(point, rect, op, delta); + } + + void drawAtPoint (NSPoint point, NSRect fromRect, uint op, CGFloat delta) + { + return invokeObjcSelf!(void, "drawAtPoint:fromRect:operation:fraction:", NSPoint, NSRect, uint, CGFloat)(point, fromRect, op, delta); + } + + void drawInRect (NSRect rect, NSRect fromRect, uint op, CGFloat delta) + { + return invokeObjcSelf!(void, "drawInRect:fromRect:operation:fraction:", NSRect, NSRect, uint, CGFloat)(rect, fromRect, op, delta); + } + + bool drawRepresentation (NSImageRep imageRep, NSRect rect) + { + return invokeObjcSelf!(bool, "drawRepresentation:inRect:", NSImageRep, NSRect)(imageRep, rect); + } + + void recache () + { + return invokeObjcSelf!(void, "recache"); + } + + NSData TIFFRepresentation () + { + return invokeObjcSelf!(NSData, "TIFFRepresentation"); + } + + NSData TIFFRepresentationUsingCompression (uint comp, float aFloat) + { + return invokeObjcSelf!(NSData, "TIFFRepresentationUsingCompression:factor:", uint, float)(comp, aFloat); + } + + NSArray representations () + { + return invokeObjcSelf!(NSArray, "representations"); + } + + void addRepresentations (NSArray imageReps) + { + return invokeObjcSelf!(void, "addRepresentations:", NSArray)(imageReps); + } + + void addRepresentation (NSImageRep imageRep) + { + return invokeObjcSelf!(void, "addRepresentation:", NSImageRep)(imageRep); + } + + void removeRepresentation (NSImageRep imageRep) + { + return invokeObjcSelf!(void, "removeRepresentation:", NSImageRep)(imageRep); + } + + bool isValid () + { + return invokeObjcSelf!(bool, "isValid"); + } + + void lockFocus () + { + return invokeObjcSelf!(void, "lockFocus"); + } + + void lockFocusOnRepresentation (NSImageRep imageRepresentation) + { + return invokeObjcSelf!(void, "lockFocusOnRepresentation:", NSImageRep)(imageRepresentation); + } + + void unlockFocus () + { + return invokeObjcSelf!(void, "unlockFocus"); + } + + NSImageRep bestRepresentationForDevice (NSDictionary deviceDescription) + { + return invokeObjcSelf!(NSImageRep, "bestRepresentationForDevice:", NSDictionary)(deviceDescription); + } + + void setDelegate (Object anObject) + { + return invokeObjcSelf!(void, "setDelegate:", Object)(anObject); + } + + Object delegate_ () + { + return invokeObjcSelf!(Object, "delegate"); + } + + static NSArray imageUnfilteredFileTypes () + { + return invokeObjcSelfClass!(NSArray, "imageUnfilteredFileTypes"); + } + + static NSArray imageUnfilteredPasteboardTypes () + { + return invokeObjcSelfClass!(NSArray, "imageUnfilteredPasteboardTypes"); + } + + static NSArray imageFileTypes () + { + return invokeObjcSelfClass!(NSArray, "imageFileTypes"); + } + + static NSArray imagePasteboardTypes () + { + return invokeObjcSelfClass!(NSArray, "imagePasteboardTypes"); + } + + static NSArray imageTypes () + { + return invokeObjcSelfClass!(NSArray, "imageTypes"); + } + + static NSArray imageUnfilteredTypes () + { + return invokeObjcSelfClass!(NSArray, "imageUnfilteredTypes"); + } + + static bool canInitWithPasteboard (NSPasteboard pasteboard) + { + return invokeObjcSelfClass!(bool, "canInitWithPasteboard:", NSPasteboard)(pasteboard); + } + + void setFlipped (bool flag) + { + return invokeObjcSelf!(void, "setFlipped:", bool)(flag); + } + + bool isFlipped () + { + return invokeObjcSelf!(bool, "isFlipped"); + } + + void cancelIncrementalLoad () + { + return invokeObjcSelf!(void, "cancelIncrementalLoad"); + } + + void setCacheMode (uint mode) + { + return invokeObjcSelf!(void, "setCacheMode:", uint)(mode); + } + + uint cacheMode () + { + return invokeObjcSelf!(uint, "cacheMode"); + } + + NSRect alignmentRect () + { + return invokeObjcSelf!(NSRect, "alignmentRect"); + } + + void setAlignmentRect (NSRect rect) + { + return invokeObjcSelf!(void, "setAlignmentRect:", NSRect)(rect); + } + + bool isTemplate () + { + return invokeObjcSelf!(bool, "isTemplate"); + } + + void setTemplate (bool isTemplate) + { + return invokeObjcSelf!(void, "setTemplate:", bool)(isTemplate); + } + +} + +const TNSImageDelegate = ` + + NSImage imageDidNotDraw (Object sender, NSRect aRect) + { + return invokeObjcSelf!(NSImage, "imageDidNotDraw:inRect:", Object, NSRect)(sender, aRect); + } + + void image (NSImage image, NSImageRep rep) + { + return invokeObjcSelf!(void, "image:willLoadRepresentation:", NSImage, NSImageRep)(image, rep); + } + + void image (NSImage image, NSImageRep rep) + { + return invokeObjcSelf!(void, "image:didLoadRepresentationHeader:", NSImage, NSImageRep)(image, rep); + } + + void image (NSImage image, NSImageRep rep, NSInteger rows) + { + return invokeObjcSelf!(void, "image:didLoadPartOfRepresentation:withValidRows:", NSImage, NSImageRep, NSInteger)(image, rep, rows); + } + + void image (NSImage image, NSImageRep rep, uint status) + { + return invokeObjcSelf!(void, "image:didLoadRepresentation:withStatus:", NSImage, NSImageRep, uint)(image, rep, status); + } + + //mixin ObjcBindMethod!(imageDidNotDraw, "imageDidNotDraw:inRect:"); + //mixin ObjcBindMethod!(image, "image:willLoadRepresentation:"); + //mixin ObjcBindMethod!(image, "image:didLoadRepresentationHeader:"); + //mixin ObjcBindMethod!(image, "image:didLoadPartOfRepresentation:withValidRows:"); + //mixin ObjcBindMethod!(image, "image:didLoadRepresentation:withStatus:"); + +`; + +const TNSBundleImageExtension = ` + + NSString pathForImageResource (NSString name) + { + return invokeObjcSelf!(NSString, "pathForImageResource:", NSString)(name); + } + + //mixin ObjcBindMethod!(pathForImageResource, "pathForImageResource:"); + +`; +