// wxCocoa
WX_NSBitmapImageRep GetNSBitmapImageRep();
void SetNSBitmapImageRep(WX_NSBitmapImageRep bitmapImageRep);
+ WX_NSImage GetNSImage(bool useMask) const;
static void InitStandardHandlers() { }
static void CleanUpHandlers() { }
#import <AppKit/NSBitmapImageRep.h>
#import <AppKit/NSGraphics.h>
+#import <AppKit/NSImage.h>
// ========================================================================
// wxBitmapRefData
return M_BITMAPDATA->m_cocoaNSBitmapImageRep;
}
+WX_NSImage wxBitmap::GetNSImage(bool useMask) const
+{
+ if(!Ok())
+ return nil;
+ NSImage *nsimage = [[[NSImage alloc]
+ initWithSize:NSMakeSize(GetWidth(), GetHeight())] autorelease];
+ if(!nsimage)
+ return nil;
+ [nsimage addRepresentation: M_BITMAPDATA->m_cocoaNSBitmapImageRep];
+ if(useMask && GetMask())
+ {
+ NSImage *maskImage = [[NSImage alloc]
+ initWithSize:NSMakeSize(GetWidth(), GetHeight())];
+ [maskImage addRepresentation: GetMask()->GetNSBitmapImageRep()];
+ [nsimage lockFocus];
+ [maskImage compositeToPoint:NSZeroPoint operation:NSCompositeDestinationIn];
+ [nsimage unlockFocus];
+ }
+ return nsimage;
+}
+
void wxBitmap::SetNSBitmapImageRep(WX_NSBitmapImageRep bitmapImageRep)
{
if(!M_BITMAPDATA)