diff options
author | Tor Lillqvist <tml@collabora.com> | 2014-03-31 22:12:37 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2014-03-31 22:13:17 +0300 |
commit | 8bc28541fa9d686a7eeee53a034a42c652451734 (patch) | |
tree | f149a9bec3d40013c9ca6f2a2048682d1805e70a /vcl | |
parent | 6f86b9d016fa8e56ee808c914b26f386d5cec7cc (diff) |
More CoreGraphics tracing
Change-Id: I2fbdb95637ee77b444e1947405d64cdd2e0338af
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/quartz/salbmp.cxx | 23 | ||||
-rw-r--r-- | vcl/quartz/salgdicommon.cxx | 1 | ||||
-rw-r--r-- | vcl/quartz/salvd.cxx | 11 |
3 files changed, 31 insertions, 4 deletions
diff --git a/vcl/quartz/salbmp.cxx b/vcl/quartz/salbmp.cxx index aaeccaa310a6..cea1b6c2cdc3 100644 --- a/vcl/quartz/salbmp.cxx +++ b/vcl/quartz/salbmp.cxx @@ -29,6 +29,7 @@ #include "vcl/salbtype.hxx" #include "quartz/salbmp.h" +#include "quartz/utils.h" #ifdef MACOSX #include "osx/saldata.hxx" @@ -103,7 +104,10 @@ bool QuartzSalBitmap::Create( CGLayerRef xLayer, int nBitmapBits, // copy layer content into the bitmap buffer const CGPoint aSrcPoint = { static_cast<CGFloat>(-nX), static_cast<CGFloat>(-nY) }; if(mxGraphicContext) // remove warning + { + CG_TRACE( "CGContextDrawLayerAtPoint(" << mxGraphicContext << "," << aSrcPoint << "," << xLayer << ")" ); CGContextDrawLayerAtPoint( mxGraphicContext, aSrcPoint, xLayer ); + } return true; } @@ -173,11 +177,16 @@ void QuartzSalBitmap::Destroy() void QuartzSalBitmap::DestroyContext() { - CGImageRelease( mxCachedImage ); - mxCachedImage = NULL; + if( mxCachedImage ) + { + CG_TRACE( "CGImageRelease(" << mxCachedImage << ")" ); + CGImageRelease( mxCachedImage ); + mxCachedImage = NULL; + } if( mxGraphicContext ) { + CG_TRACE( "CGContextRelease(" << mxGraphicContext << ")" ); CGContextRelease( mxGraphicContext ); mxGraphicContext = NULL; maContextBuffer.reset(); @@ -739,6 +748,7 @@ CGImageRef QuartzSalBitmap::CreateCroppedImage( int nX, int nY, int nNewWidth, i return NULL; mxCachedImage = CGBitmapContextCreateImage( mxGraphicContext ); + CG_TRACE( "CGBitmapContextCreateImage(" << mxGraphicContext << ") = " << mxCachedImage ); } CGImageRef xCroppedImage = NULL; @@ -753,6 +763,7 @@ CGImageRef QuartzSalBitmap::CreateCroppedImage( int nX, int nY, int nNewWidth, i nY = mnHeight - (nY + nNewHeight); // adjust for y-mirrored context const CGRect aCropRect = { { static_cast<CGFloat>(nX), static_cast<CGFloat>(nY) }, { static_cast<CGFloat>(nNewWidth), static_cast<CGFloat>(nNewHeight) } }; xCroppedImage = CGImageCreateWithImageInRect( mxCachedImage, aCropRect ); + CG_TRACE( "CGImageCreateWithImageInRect(" << mxCachedImage << "," << aCropRect << ") = " << xCroppedImage ); } return xCroppedImage; @@ -788,13 +799,18 @@ CGImageRef QuartzSalBitmap::CreateWithMask( const QuartzSalBitmap& rMask, void* pMaskMem = rtl_allocateMemory( nMaskBytesPerRow * nHeight ); CGContextRef xMaskContext = CGBitmapContextCreate( pMaskMem, nWidth, nHeight, 8, nMaskBytesPerRow, GetSalData()->mxGraySpace, kCGImageAlphaNone ); + CG_TRACE( "CGBitmapContextCreate(" << nWidth << "x" << nHeight << "x8) = " << xMaskContext ); + CG_TRACE( "CGContextDrawImage(" << xMaskContext << "," << xImageRect << "," << xMask << ")" ); CGContextDrawImage( xMaskContext, xImageRect, xMask ); + CG_TRACE( "CFRelease(" << xMask << ")" ); CFRelease( xMask ); CGDataProviderRef xDataProvider( CGDataProviderCreateWithData( NULL, pMaskMem, nHeight * nMaskBytesPerRow, &CFRTLFree ) ); static const CGFloat* pDecode = NULL; xMask = CGImageMaskCreate( nWidth, nHeight, 8, 8, nMaskBytesPerRow, xDataProvider, pDecode, false ); + CG_TRACE( "CGImageMaskCreate(" << nWidth << "," << nHeight << ",8,8) = " << xMask ); CFRelease( xDataProvider ); + CG_TRACE( "CFRelease(" << xMaskContext << ")" ); CFRelease( xMaskContext ); } @@ -803,7 +819,10 @@ CGImageRef QuartzSalBitmap::CreateWithMask( const QuartzSalBitmap& rMask, // combine image and alpha mask CGImageRef xMaskedImage = CGImageCreateWithMask( xImage, xMask ); + CG_TRACE( "CGImageCreateWithMask(" << xImage << "," << xMask << ") = " << xMaskedImage ); + CG_TRACE( "CFRelease(" << xMask << ")" ); CFRelease( xMask ); + CG_TRACE( "CFRelease(" << xImage << ")" ); CFRelease( xImage ); return xMaskedImage; } diff --git a/vcl/quartz/salgdicommon.cxx b/vcl/quartz/salgdicommon.cxx index c2e9931e39c7..f0b99798a83a 100644 --- a/vcl/quartz/salgdicommon.cxx +++ b/vcl/quartz/salgdicommon.cxx @@ -484,6 +484,7 @@ void AquaSalGraphics::copyArea( long nDstX, long nDstY,long nSrcX, long nSrcY, xSrcLayer = CGLayerCreateWithContext( xCopyContext, aSrcSize, NULL ); CG_TRACE( "CGLayerCreateWithContext(" << xCopyContext << "," << aSrcSize << ",NULL) = " << xSrcLayer ); const CGContextRef xSrcContext = CGLayerGetContext( xSrcLayer ); + CG_TRACE( "CGLayerGetContext(" << xSrcLayer << ") = " << xSrcContext ); CGPoint aSrcPoint = CGPointMake(-nSrcX, -nSrcY); if( IsFlipped() ) { diff --git a/vcl/quartz/salvd.cxx b/vcl/quartz/salvd.cxx index fb3e9a799449..0d8cc285ce03 100644 --- a/vcl/quartz/salvd.cxx +++ b/vcl/quartz/salvd.cxx @@ -32,8 +32,7 @@ #include "headless/svpvd.hxx" #endif #include "quartz/salgdi.h" - - +#include "quartz/utils.h" SalVirtualDevice* AquaSalInstance::CreateVirtualDevice( SalGraphics* pGraphics, long nDX, long nDY, sal_uInt16 nBitCount, const SystemGraphicsData *pData ) @@ -74,6 +73,7 @@ AquaSalVirtualDevice::AquaSalVirtualDevice( AquaSalGraphics* pGraphic, long nDX, if (nDY == 0) nDY = 1; mxLayer = CGLayerCreateWithContext( pData->rCGContext, CGSizeMake( nDX, nDY), NULL ); + CG_TRACE( "CGLayerCreateWithContext(" << pData->rCGContext << "," << CGSizeMake( nDX, nDY) << ",NULL) = " << mxLayer ); mpGraphics->SetVirDevGraphics( mxLayer, pData->rCGContext ); } else @@ -131,6 +131,7 @@ void AquaSalVirtualDevice::Destroy() { if( mpGraphics ) mpGraphics->SetVirDevGraphics( NULL, NULL ); + CG_TRACE( "CGLayerRelease(" << mxLayer << ")" ); CGLayerRelease( mxLayer ); mxLayer = NULL; } @@ -139,6 +140,7 @@ void AquaSalVirtualDevice::Destroy() { void* pRawData = CGBitmapContextGetData( mxBitmapContext ); rtl_freeMemory( pRawData ); + CG_TRACE( "CGContextRelease(" << mxBitmapContext << ")" ); CGContextRelease( mxBitmapContext ); mxBitmapContext = NULL; } @@ -198,6 +200,7 @@ bool AquaSalVirtualDevice::SetSize( long nDX, long nDY ) void* pRawData = rtl_allocateMemory( nBytesPerRow * nDY ); mxBitmapContext = CGBitmapContextCreate( pRawData, nDX, nDY, mnBitmapDepth, nBytesPerRow, aCGColorSpace, aCGBmpInfo ); + CG_TRACE( "CGBitmapContextCreate(" << nDX << "x" << nDY << "x" << mnBitmapDepth << ") = " << mxBitmapContext ); xCGContext = mxBitmapContext; } else @@ -254,6 +257,7 @@ bool AquaSalVirtualDevice::SetSize( long nDX, long nDY ) void* pRawData = rtl_allocateMemory( nBytesPerRow * nDY ); mxBitmapContext = CGBitmapContextCreate( pRawData, nDX, nDY, 8, nBytesPerRow, aCGColorSpace, aCGBmpInfo ); + CG_TRACE( "CGBitmapContextCreate(" << nDX << "x" << nDY << "x8) = " << mxBitmapContext ); xCGContext = mxBitmapContext; #endif } @@ -262,11 +266,13 @@ bool AquaSalVirtualDevice::SetSize( long nDX, long nDY ) const CGSize aNewSize = { static_cast<CGFloat>(nDX), static_cast<CGFloat>(nDY) }; mxLayer = CGLayerCreateWithContext( xCGContext, aNewSize, NULL ); + CG_TRACE( "CGLayerCreateWithContext(" << xCGContext << "," << aNewSize << ",NULL) = " << mxLayer ); if( mxLayer && mpGraphics ) { // get the matching Quartz context CGContextRef xDrawContext = CGLayerGetContext( mxLayer ); + CG_TRACE( "CGLayerGetContext(" << mxLayer << ") = " << xDrawContext ); mpGraphics->SetVirDevGraphics( mxLayer, xDrawContext, mnBitmapDepth ); } @@ -282,6 +288,7 @@ void AquaSalVirtualDevice::GetSize( long& rWidth, long& rHeight ) const CGSize aSize = CGLayerGetSize( mxLayer ); rWidth = static_cast<long>(aSize.width); rHeight = static_cast<long>(aSize.height); + CG_TRACE( "CGLayerGetSize(" << mxLayer << ") = " << aSize << "(" << rWidth << "x" << rHeight << ")" ); } else { |