uma versions for tiger only calls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@46349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -104,6 +104,11 @@ OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ;
|
|||||||
|
|
||||||
#define GetWindowUpdateRgn( inWindow , updateRgn ) GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn )
|
#define GetWindowUpdateRgn( inWindow , updateRgn ) GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn )
|
||||||
|
|
||||||
|
// Quartz
|
||||||
|
|
||||||
|
CGDataProviderRef UMACGDataProviderCreateWithCFData( CFDataRef data );
|
||||||
|
CGDataConsumerRef UMACGDataConsumerCreateWithCFData( CFDataRef data );
|
||||||
|
|
||||||
#endif // wxUSE_GUI
|
#endif // wxUSE_GUI
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -742,6 +742,72 @@ Rect * UMAGetControlBoundsInWindowCoords( ControlRef theControl, Rect *bounds )
|
|||||||
return bounds ;
|
return bounds ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t UMAPutBytesCFRefCallback( void *info, const void *bytes, size_t count )
|
||||||
|
{
|
||||||
|
CFMutableDataRef data = (CFMutableDataRef) info;
|
||||||
|
if ( data )
|
||||||
|
{
|
||||||
|
CFDataAppendBytes( data, (const UInt8*) bytes, count );
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UMAReleaseCFDataProviderCallback( void *info, const void *data, size_t count )
|
||||||
|
{
|
||||||
|
if ( info )
|
||||||
|
CFRelease( (CFDataRef) info );
|
||||||
|
}
|
||||||
|
|
||||||
|
void UMAReleaseCFDataConsumerCallback( void *info )
|
||||||
|
{
|
||||||
|
if ( info )
|
||||||
|
CFRelease( (CFDataRef) info );
|
||||||
|
}
|
||||||
|
|
||||||
|
CGDataProviderRef UMACGDataProviderCreateWithCFData( CFDataRef data )
|
||||||
|
{
|
||||||
|
if ( data == NULL )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
|
||||||
|
if( &CGDataProviderCreateWithCFData != NULL )
|
||||||
|
{
|
||||||
|
return CGDataProviderCreateWithCFData( data );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// make sure we keep it until done
|
||||||
|
CFRetain( data );
|
||||||
|
CGDataProviderRef provider = CGDataProviderCreateWithData( (void*) data , CFDataGetBytePtr( data ) ,
|
||||||
|
CFDataGetLength( data ), UMAReleaseCFDataProviderCallback );
|
||||||
|
// if provider couldn't be created, release the data again
|
||||||
|
if ( provider == NULL )
|
||||||
|
CFRelease( data );
|
||||||
|
return provider;
|
||||||
|
}
|
||||||
|
|
||||||
|
CGDataConsumerRef UMACGDataConsumerCreateWithCFData( CFMutableDataRef data )
|
||||||
|
{
|
||||||
|
if ( data == NULL )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
|
||||||
|
if( &CGDataConsumerCreateWithCFData != NULL )
|
||||||
|
{
|
||||||
|
return CGDataConsumerCreateWithCFData( data );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
// make sure we keep it until done
|
||||||
|
CFRetain( data );
|
||||||
|
CGDataConsumerCallbacks callbacks;
|
||||||
|
callbacks.putBytes = UMAPutBytesCFRefCallback;
|
||||||
|
callbacks.releaseConsumer = UMAReleaseCFDataConsumerCallback;
|
||||||
|
CGDataConsumerRef consumer = CGDataConsumerCreate( data , &callbacks );
|
||||||
|
// if consumer couldn't be created, release the data again
|
||||||
|
if ( consumer == NULL )
|
||||||
|
CFRelease( data );
|
||||||
|
return consumer;
|
||||||
|
}
|
||||||
#endif // wxUSE_GUI
|
#endif // wxUSE_GUI
|
||||||
|
|
||||||
#if wxUSE_BASE
|
#if wxUSE_BASE
|
||||||
|
Reference in New Issue
Block a user