X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b2680ced12cbbed16990007c5fa3ea7730700122..f8d0234d39c66f3d1d7fc2346562cb96c8c7be20:/src/osx/carbon/utilscocoa.mm?ds=sidebyside diff --git a/src/osx/carbon/utilscocoa.mm b/src/osx/carbon/utilscocoa.mm index 4fdf07c240..1617dd37f6 100644 --- a/src/osx/carbon/utilscocoa.mm +++ b/src/osx/carbon/utilscocoa.mm @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/mac/carbon/utils.mm +// Name: src/osx/carbon/utils.mm // Purpose: various cocoa mixin utility functions // Author: Stefan Csomor // Modified by: @@ -44,15 +44,25 @@ wxMacAutoreleasePool::~wxMacAutoreleasePool() #endif -#if defined( __WXCOCOCA__ ) || wxOSX_USE_COCOA +#if wxOSX_USE_COCOA_OR_IPHONE -CGContextRef wxMacGetContextFromCurrentNSContext() +CGContextRef wxOSXGetContextFromCurrentNSContext() { CGContextRef context = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort]; return context; } +bool wxOSXLockFocus( WXWidget view) +{ + return [view lockFocusIfCanDraw]; +} + +void wxOSXUnlockFocus( WXWidget view) +{ + [view unlockFocus]; +} + #endif // ---------------------------------------------------------------------------- @@ -81,7 +91,7 @@ void wxMacCocoaRetain( void* obj ) // ---------------------------------------------------------------------------- // From "Cocoa Drawing Guide:Working with Images" -WX_NSImage CreateNSImageFromCGImage( CGImageRef image ) +WX_NSImage wxOSXCreateNSImageFromCGImage( CGImageRef image ) { NSRect imageRect = NSMakeRect(0.0, 0.0, 0.0, 0.0); @@ -98,6 +108,15 @@ WX_NSImage CreateNSImageFromCGImage( CGImageRef image ) CGContextDrawImage( imageContext, *(CGRect*)&imageRect, image ); [newImage unlockFocus]; + /* + // Create a bitmap rep from the image... + NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:cgImage]; + // Create an NSImage and add the bitmap rep to it... + NSImage *image = [[NSImage alloc] init]; + [image addRepresentation:bitmapRep]; + [bitmapRep release]; + */ + [newImage autorelease]; return( newImage ); } @@ -215,7 +234,7 @@ WX_NSCursor wxMacCocoaCreateStockCursor( int cursor_type ) case wxCURSOR_HAND: cursor = [[NSCursor pointingHandCursor] retain]; break; - + case wxCURSOR_BULLSEYE: cursor = wxGetStockCursor(kwxCursorBullseye); break; @@ -260,6 +279,14 @@ WX_NSCursor wxMacCocoaCreateStockCursor( int cursor_type ) cursor = wxGetStockCursor(kwxCursorRoller); break; + case wxCURSOR_OPEN_HAND: + cursor = [[NSCursor openHandCursor] retain]; + break; + + case wxCURSOR_CLOSED_HAND: + cursor = [[NSCursor closedHandCursor] retain]; + break; + case wxCURSOR_CHAR: case wxCURSOR_ARROW: case wxCURSOR_LEFT_BUTTON: @@ -284,7 +311,7 @@ WX_NSCursor wxMacCocoaCreateCursorFromCGImage( CGImageRef cgImageRef, float hot firstTime = NO; } - NSImage *nsImage = CreateNSImageFromCGImage( cgImageRef ); + NSImage *nsImage = wxOSXCreateNSImageFromCGImage( cgImageRef ); NSCursor *cursor = [[NSCursor alloc] initWithImage:nsImage hotSpot:NSMakePoint( hotSpotX, hotSpotY )]; [nsImage release];