adding 10.5 compatibility again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2250,20 +2250,37 @@ void wxMacCoreGraphicsContext::DrawIcon( const wxIcon &icon, wxDouble x, wxDoubl
|
|||||||
if (m_composition == wxCOMPOSITION_DEST)
|
if (m_composition == wxCOMPOSITION_DEST)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if wxOSX_USE_CARBON
|
// the carbon version must be used on 10.5, or if the SDK is 10.5
|
||||||
CGContextSaveGState( m_cgContext );
|
#if wxOSX_USE_CARBON || ( wxOSX_USE_COCOA && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6 )
|
||||||
CGContextTranslateCTM( m_cgContext,(CGFloat) x ,(CGFloat) (y + h) );
|
#if wxOSX_USE_COCOA
|
||||||
CGContextScaleCTM( m_cgContext, 1, -1 );
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
|
||||||
CGRect r = CGRectMake( (CGFloat) 0.0 , (CGFloat) 0.0 , (CGFloat) w , (CGFloat) h );
|
if ( UMAGetSystemVersion() < 0x1060 )
|
||||||
PlotIconRefInContext( m_cgContext , &r , kAlignNone , kTransformNone ,
|
#endif
|
||||||
NULL , kPlotIconRefNormalFlags , icon.GetHICON() );
|
{
|
||||||
CGContextRestoreGState( m_cgContext );
|
#endif // wxOSX_USE_COCOA
|
||||||
#elif wxOSX_USE_COCOA
|
CGContextSaveGState( m_cgContext );
|
||||||
CGRect r = CGRectMake( (CGFloat) x , (CGFloat) y , (CGFloat) w , (CGFloat) h );
|
CGContextTranslateCTM( m_cgContext,(CGFloat) x ,(CGFloat) (y + h) );
|
||||||
const WX_NSImage nsImage = icon.GetNSImage();
|
CGContextScaleCTM( m_cgContext, 1, -1 );
|
||||||
|
CGRect r = CGRectMake( (CGFloat) 0.0 , (CGFloat) 0.0 , (CGFloat) w , (CGFloat) h );
|
||||||
|
PlotIconRefInContext( m_cgContext , &r , kAlignNone , kTransformNone ,
|
||||||
|
NULL , kPlotIconRefNormalFlags , icon.GetHICON() );
|
||||||
|
CGContextRestoreGState( m_cgContext );
|
||||||
|
#if wxOSX_USE_COCOA
|
||||||
|
}
|
||||||
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
#endif // wxOSX_USE_COCOA
|
||||||
|
#endif // wxOSX_USE_CARBON || ( wxOSX_USE_COCOA && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6 )
|
||||||
|
|
||||||
CGImageRef cgImage = wxOSXGetCGImageFromNSImage( nsImage , &r, m_cgContext );
|
#if wxOSX_USE_COCOA && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
|
||||||
wxMacDrawCGImage( m_cgContext, &r, cgImage);
|
{
|
||||||
|
CGRect r = CGRectMake( (CGFloat) x , (CGFloat) y , (CGFloat) w , (CGFloat) h );
|
||||||
|
const WX_NSImage nsImage = icon.GetNSImage();
|
||||||
|
|
||||||
|
CGImageRef cgImage = wxOSXGetCGImageFromNSImage( nsImage , &r, m_cgContext );
|
||||||
|
wxMacDrawCGImage( m_cgContext, &r, cgImage);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CheckInvariants();
|
CheckInvariants();
|
||||||
|
@@ -456,10 +456,16 @@ WX_NSImage WXDLLIMPEXP_CORE wxOSXGetNSImageFromIconRef( WXHICON iconref )
|
|||||||
|
|
||||||
CGImageRef WXDLLIMPEXP_CORE wxOSXGetCGImageFromNSImage( WX_NSImage nsimage, CGRect* r, CGContextRef cg)
|
CGImageRef WXDLLIMPEXP_CORE wxOSXGetCGImageFromNSImage( WX_NSImage nsimage, CGRect* r, CGContextRef cg)
|
||||||
{
|
{
|
||||||
NSRect nsRect = NSRectFromCGRect(*r);
|
#if wxOSX_USE_COCOA && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
|
||||||
return [nsimage CGImageForProposedRect:&nsRect
|
if ( UMAGetSystemVersion() >= 0x1060 )
|
||||||
|
{
|
||||||
|
NSRect nsRect = NSRectFromCGRect(*r);
|
||||||
|
return [nsimage CGImageForProposedRect:&nsRect
|
||||||
context:[NSGraphicsContext graphicsContextWithGraphicsPort:cg flipped:YES]
|
context:[NSGraphicsContext graphicsContextWithGraphicsPort:cg flipped:YES]
|
||||||
hints:nil];
|
hints:nil];
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
CGContextRef WXDLLIMPEXP_CORE wxOSXCreateBitmapContextFromNSImage( WX_NSImage nsimage)
|
CGContextRef WXDLLIMPEXP_CORE wxOSXCreateBitmapContextFromNSImage( WX_NSImage nsimage)
|
||||||
|
Reference in New Issue
Block a user