X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7351769afcf718f455becfc2a447db4e757e245a..8d6e8e45fe72afcb38d1da3b2b90c307ac052b0c:/src/osx/carbon/graphics.cpp diff --git a/src/osx/carbon/graphics.cpp b/src/osx/carbon/graphics.cpp index b018e6a38c..419a3b6259 100644 --- a/src/osx/carbon/graphics.cpp +++ b/src/osx/carbon/graphics.cpp @@ -1145,7 +1145,7 @@ public : // gets the bounding box enclosing all points (possibly including control points) virtual void GetBox(wxDouble *x, wxDouble *y, wxDouble *w, wxDouble *y) const; - virtual bool Contains( wxDouble x, wxDouble y, int fillStyle = wxODDEVEN_RULE) const; + virtual bool Contains( wxDouble x, wxDouble y, wxPolygonFillMode fillStyle = wxODDEVEN_RULE) const; private : CGMutablePathRef m_path; }; @@ -1256,7 +1256,7 @@ void wxMacCoreGraphicsPathData::GetBox(wxDouble *x, wxDouble *y, wxDouble *w, wx *h = bounds.size.height; } -bool wxMacCoreGraphicsPathData::Contains( wxDouble x, wxDouble y, int fillStyle) const +bool wxMacCoreGraphicsPathData::Contains( wxDouble x, wxDouble y, wxPolygonFillMode fillStyle) const { return CGPathContainsPoint( m_path, NULL, CGPointMake((CGFloat) x,(CGFloat) y), fillStyle == wxODDEVEN_RULE ); } @@ -1344,10 +1344,10 @@ public: virtual void StrokePath( const wxGraphicsPath &path ); // fills a path with the current brush - virtual void FillPath( const wxGraphicsPath &path, int fillStyle = wxODDEVEN_RULE ); + virtual void FillPath( const wxGraphicsPath &path, wxPolygonFillMode fillStyle = wxODDEVEN_RULE ); // draws a path by first filling and then stroking - virtual void DrawPath( const wxGraphicsPath &path, int fillStyle = wxODDEVEN_RULE ); + virtual void DrawPath( const wxGraphicsPath &path, wxPolygonFillMode fillStyle = wxODDEVEN_RULE ); virtual bool ShouldOffset() const { @@ -1732,7 +1732,7 @@ void wxMacCoreGraphicsContext::StrokePath( const wxGraphicsPath &path ) CGContextStrokePath( m_cgContext ); } -void wxMacCoreGraphicsContext::DrawPath( const wxGraphicsPath &path , int fillStyle ) +void wxMacCoreGraphicsContext::DrawPath( const wxGraphicsPath &path , wxPolygonFillMode fillStyle ) { if ( !m_brush.IsNull() && ((wxMacCoreGraphicsBrushData*)m_brush.GetRefData())->IsShading() ) { @@ -1781,7 +1781,7 @@ void wxMacCoreGraphicsContext::DrawPath( const wxGraphicsPath &path , int fillSt CGContextDrawPath( m_cgContext , mode ); } -void wxMacCoreGraphicsContext::FillPath( const wxGraphicsPath &path , int fillStyle ) +void wxMacCoreGraphicsContext::FillPath( const wxGraphicsPath &path , wxPolygonFillMode fillStyle ) { if ( m_brush.IsNull() ) return; @@ -2010,7 +2010,7 @@ void wxMacCoreGraphicsContext::DoDrawRotatedText(const wxString &str, if ( UMAGetSystemVersion() >= 0x1050 ) { // default implementation takes care of rotation and calls non rotated DrawText afterwards - wxGraphicsContext::DrawText( str, x, y, angle ); + wxGraphicsContext::DoDrawRotatedText( str, x, y, angle ); return; } #endif @@ -2435,12 +2435,15 @@ wxGraphicsContext * wxMacCoreGraphicsRenderer::CreateContext( const wxWindowDC& int w, h; win_impl->GetSize( &w, &h ); CGContextRef cgctx = 0; -#ifdef __WXMAC__ - cgctx = (CGContextRef)(win_impl->GetWindow()->MacGetCGContextRef()); -#else - cgctx = wxMacGetContextFromCurrentNSContext() ; + wxASSERT_MSG(win_impl->GetWindow(), "Invalid wxWindow in wxMacCoreGraphicsRenderer::CreateContext"); + if (win_impl->GetWindow()) + cgctx = (CGContextRef)(win_impl->GetWindow()->MacGetCGContextRef()); +#if wxOSX_USE_COCOA + else + cgctx = wxMacGetContextFromCurrentNSContext() ; #endif - return new wxMacCoreGraphicsContext( this, cgctx, (wxDouble) w, (wxDouble) h ); + if (cgctx != 0) + return new wxMacCoreGraphicsContext( this, cgctx, (wxDouble) w, (wxDouble) h ); } return NULL; }