#include "wx/wxprec.h"
#include "wx/graphics.h"
+#include "wx/private/graphics.h"
#ifndef WX_PRECOMP
#include "wx/dcclient.h"
protected :
CGLineCap m_cap;
- wxMacCFRefHolder<CGColorRef> m_color;
- wxMacCFRefHolder<CGColorSpaceRef> m_colorSpace;
+ wxCFRef<CGColorRef> m_color;
+ wxCFRef<CGColorSpaceRef> m_colorSpace;
CGLineJoin m_join;
CGFloat m_width;
bool m_isPattern;
- wxMacCFRefHolder<CGPatternRef> m_pattern;
+ wxCFRef<CGPatternRef> m_pattern;
CGFloat* m_patternColorComponents;
};
{
Init();
- CGFloat components[4] = { pen.GetColour().Red() / 255.0 , pen.GetColour().Green() / 255.0 ,
- pen.GetColour().Blue() / 255.0 , pen.GetColour().Alpha() / 255.0 } ;
- m_color.Set( CGColorCreate( wxMacGetGenericRGBColorSpace() , components ) ) ;
+ m_color.reset( pen.GetColour().CreateCGColor() ) ;
// TODO: * m_dc->m_scaleX
m_width = pen.GetWidth();
wxBitmap* bmp = pen.GetStipple();
if ( bmp && bmp->Ok() )
{
- m_colorSpace.Set( CGColorSpaceCreatePattern( NULL ) );
- m_pattern.Set( *( new ImagePattern( bmp , CGAffineTransformMakeScale( 1,-1 ) ) ) );
+ m_colorSpace.reset( CGColorSpaceCreatePattern( NULL ) );
+ m_pattern.reset( (CGPatternRef) *( new ImagePattern( bmp , CGAffineTransformMakeScale( 1,-1 ) ) ) );
m_patternColorComponents = new CGFloat[1] ;
m_patternColorComponents[0] = 1.0;
m_isPattern = true;
default :
{
m_isPattern = true;
- m_colorSpace.Set( CGColorSpaceCreatePattern( wxMacGetGenericRGBColorSpace() ) );
- m_pattern.Set( *( new HatchPattern( pen.GetStyle() , CGAffineTransformMakeScale( 1,-1 ) ) ) );
+ m_colorSpace.reset( CGColorSpaceCreatePattern( wxMacGetGenericRGBColorSpace() ) );
+ m_pattern.reset( (CGPatternRef) *( new HatchPattern( pen.GetStyle() , CGAffineTransformMakeScale( 1,-1 ) ) ) );
m_patternColorComponents = new CGFloat[4] ;
m_patternColorComponents[0] = pen.GetColour().Red() / 255.0;
m_patternColorComponents[1] = pen.GetColour().Green() / 255.0;
void Apply( CGContextRef cgContext );
protected:
void Init();
- wxMacCFRefHolder<CGColorRef> m_color;
- wxMacCFRefHolder<CGColorSpaceRef> m_colorSpace;
+ wxCFRef<CGColorRef> m_color;
+ wxCFRef<CGColorSpaceRef> m_colorSpace;
bool m_isPattern;
- wxMacCFRefHolder<CGPatternRef> m_pattern;
+ wxCFRef<CGPatternRef> m_pattern;
CGFloat* m_patternColorComponents;
} ;
Init();
if ( brush.GetStyle() == wxSOLID )
{
- m_color.Set( brush.GetColour().CreateCGColor() );
+ m_color.reset( brush.GetColour().CreateCGColor() );
}
else if ( brush.IsHatch() )
{
m_isPattern = true;
- m_colorSpace.Set( CGColorSpaceCreatePattern( wxMacGetGenericRGBColorSpace() ) );
- m_pattern.Set( *( new HatchPattern( brush.GetStyle() , CGAffineTransformMakeScale( 1,-1 ) ) ) );
+ m_colorSpace.reset( CGColorSpaceCreatePattern( wxMacGetGenericRGBColorSpace() ) );
+ m_pattern.reset( (CGPatternRef) *( new HatchPattern( brush.GetStyle() , CGAffineTransformMakeScale( 1,-1 ) ) ) );
m_patternColorComponents = new CGFloat[4] ;
m_patternColorComponents[0] = brush.GetColour().Red() / 255.0;
m_isPattern = true;
m_patternColorComponents = new CGFloat[1] ;
m_patternColorComponents[0] = 1.0;
- m_colorSpace.Set( CGColorSpaceCreatePattern( NULL ) );
- m_pattern.Set( *( new ImagePattern( bmp , CGAffineTransformMakeScale( 1,-1 ) ) ) );
+ m_colorSpace.reset( CGColorSpaceCreatePattern( NULL ) );
+ m_pattern.reset( (CGPatternRef) *( new ImagePattern( bmp , CGAffineTransformMakeScale( 1,-1 ) ) ) );
}
}
}
wxDouble m_width;
wxDouble m_height;
- wxMacCFRefHolder<HIShapeRef> m_clipRgn;
+ wxCFRef<HIShapeRef> m_clipRgn;
};
//-----------------------------------------------------------------------------
m_height = 0;
HIRect r = CGRectMake(0,0,0,0);
- m_clipRgn.Set(HIShapeCreateWithRect(&r));
+ m_clipRgn.reset(HIShapeCreateWithRect(&r));
}
wxMacCoreGraphicsContext::wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer, CGContextRef cgcontext, wxDouble width, wxDouble height ) : wxGraphicsContext(renderer)
if ( !HIShapeIsEmpty(m_clipRgn) )
{
// the clip region is in device coordinates, so we convert this again to user coordinates
- wxMacCFRefHolder<HIMutableShapeRef> hishape ;
- hishape.Set( HIShapeCreateMutableCopy( m_clipRgn ) );
+ wxCFRef<HIMutableShapeRef> hishape( HIShapeCreateMutableCopy( m_clipRgn ) );
CGPoint transformedOrigin = CGPointApplyAffineTransform( CGPointZero,m_windowTransform);
HIShapeOffset( hishape, -transformedOrigin.x, -transformedOrigin.y );
HIShapeReplacePathInCGContext( hishape, m_cgContext );
CGPoint transformedOrigin = CGPointApplyAffineTransform( CGPointZero, m_windowTransform );
HIShapeOffset( mutableShape, transformedOrigin.x, transformedOrigin.y );
- m_clipRgn.Set(mutableShape);
+ m_clipRgn.reset(mutableShape);
}
}
// the clipping itself must be stored as device coordinates, otherwise
// we cannot apply it back correctly
r.origin= CGPointApplyAffineTransform( r.origin, m_windowTransform );
- m_clipRgn.Set(HIShapeCreateWithRect(&r));
+ m_clipRgn.reset(HIShapeCreateWithRect(&r));
}
}
else
{
HIRect r = CGRectMake(0,0,0,0);
- m_clipRgn.Set(HIShapeCreateWithRect(&r));
+ m_clipRgn.reset(HIShapeCreateWithRect(&r));
}
}
CGColorRef col = fref->GetColour().GetPixel();
CTUnderlineStyle ustyle = fref->GetUnderlined() ? kCTUnderlineStyleSingle : kCTUnderlineStyleNone ;
wxCFRef<CFNumberRef> underlined( CFNumberCreate(NULL, kCFNumberSInt32Type, &ustyle) );
- CFStringRef keys[] = { kCTFontAttributeName , kCTForegroundColorAttributeName, kCTUnderlineStyleAttributeName };
+ CFStringRef keys[] = { kCTFontAttributeName , kCTForegroundColorAttributeName, kCTUnderlineStyleAttributeName };
CFTypeRef values[] = { font, col, underlined };
wxCFRef<CFDictionaryRef> attributes( CFDictionaryCreate(kCFAllocatorDefault, (const void**) &keys, (const void**) &values,
WXSIZEOF( keys ), &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks) );