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" DIR="bld-$1"
if [ "$1" = "ppc" ]; then if [ "$1" = "ppc" ]; then
export CXX="g++-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=1030" export CC="gcc-3.3 -arch ppc -DMAC_OS_X_VERSION_MAX_ALLOWED=1040"
export MACOSX_DEPLOYMENT_TARGET=10.3 export MACOSX_DEPLOYMENT_TARGET=10.3
else else
export CXX="g++-4.0 -arch i386" export CXX="g++-4.0 -arch i386"

View File

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