Use 1040 for the PPC VERSION_MAX_ALLOWED, and do a proper weak linker

reference check for CGContextSetBlendMode.  This allows the wxPython PPC half of the 
Universal binary to be fully functional on Tiger+.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@50815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2007-12-18 19:35:57 +00:00
parent 4c2356097d
commit b445553485
2 changed files with 20 additions and 13 deletions

View File

@@ -16,8 +16,8 @@ do_lipo_build(){
DIR="bld-$1"
if [ "$1" = "ppc" ]; then
export CXX="g++-3.3 -arch ppc -DMAC_OS_X_VERSION_MAX_ALLOWED=1030"
export CC="gcc-3.3 -arch ppc -DMAC_OS_X_VERSION_MAX_ALLOWED=1030"
export CXX="g++-3.3 -arch ppc -DMAC_OS_X_VERSION_MAX_ALLOWED=1040"
export CC="gcc-3.3 -arch ppc -DMAC_OS_X_VERSION_MAX_ALLOWED=1040"
export MACOSX_DEPLOYMENT_TARGET=10.3
else
export CXX="g++-4.0 -arch i386"

View File

@@ -35,14 +35,18 @@
#include "wx/mac/private.h"
#ifndef wxMAC_USE_CORE_GRAPHICS_BLEND_MODES
#define wxMAC_USE_CORE_GRAPHICS_BLEND_MODES 0
#endif
#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4
typedef float CGFloat ;
#endif
#ifndef wxMAC_USE_CORE_GRAPHICS_BLEND_MODES
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
#define wxMAC_USE_CORE_GRAPHICS_BLEND_MODES 1
#else
#define wxMAC_USE_CORE_GRAPHICS_BLEND_MODES 0
#endif
#endif
//-----------------------------------------------------------------------------
// constants
//-----------------------------------------------------------------------------
@@ -1561,13 +1565,16 @@ void wxDC::SetLogicalFunction( int function )
m_logicalFunction = function ;
#if wxMAC_USE_CORE_GRAPHICS_BLEND_MODES
if ( CGContextSetBlendMode != 0 )
{
CGContextRef cgContext = ((wxMacCGContext*)(m_graphicContext))->GetNativeContext() ;
if ( m_logicalFunction == wxCOPY )
CGContextSetBlendMode( cgContext, kCGBlendModeNormal ) ;
else if ( m_logicalFunction == wxINVERT )
else if ( m_logicalFunction == wxINVERT || m_logicalFunction == wxXOR )
CGContextSetBlendMode( cgContext, kCGBlendModeExclusion ) ;
else
CGContextSetBlendMode( cgContext, kCGBlendModeNormal ) ;
}
#endif
}