fixing the usage of hishape

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2007-11-27 10:00:15 +00:00
parent a64c35c80d
commit 82c126e501

View File

@@ -1444,18 +1444,14 @@ void wxMacCoreGraphicsContext::Clip( const wxRegion &region )
{
if( m_cgContext )
{
HIShapeRef shape = HIShapeCreateWithQDRgn( (RgnHandle) region.GetWXHRGN() );
HIShapeReplacePathInCGContext( shape, m_cgContext );
HIShapeReplacePathInCGContext( region.GetWXHRGN() , m_cgContext );
CGContextClip( m_cgContext );
CFRelease( shape );
}
else
{
// this offsetting to device coords is not really correct, but since we cannot apply affine transforms
// to regions we try at least to have correct translations
wxMacCFRefHolder<HIShapeRef> hishape ;
hishape.Set( HIShapeCreateWithQDRgn( (RgnHandle) region.GetWXHRGN() ));
HIMutableShapeRef mutableShape = HIShapeCreateMutableCopy( hishape );
HIMutableShapeRef mutableShape = HIShapeCreateMutableCopy( region.GetWXHRGN() );
CGPoint transformedOrigin = CGPointApplyAffineTransform( CGPointZero, m_windowTransform );
HIShapeOffset( mutableShape, transformedOrigin.x, transformedOrigin.y );