X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/432efcb004c8a7f4997acab1aa044c78226c36bb..caea98973222b3f02904c276a66ab090c2d7f522:/src/mac/carbon/dcmemory.cpp diff --git a/src/mac/carbon/dcmemory.cpp b/src/mac/carbon/dcmemory.cpp index ee44e18330..ba8ecbe271 100644 --- a/src/mac/carbon/dcmemory.cpp +++ b/src/mac/carbon/dcmemory.cpp @@ -12,6 +12,7 @@ #include "wx/wxprec.h" #include "wx/dcmemory.h" +#include "wx/graphics.h" #include "wx/mac/private.h" @@ -52,7 +53,7 @@ wxMemoryDC::~wxMemoryDC() { #if wxMAC_USE_CORE_GRAPHICS m_selected.EndRawAccess() ; - CGContextRef bmCtx = ((wxMacCGContext*)(m_graphicContext))->GetNativeContext() ; + CGContextRef bmCtx = (CGContextRef) m_graphicContext->GetNativeContext() ; delete m_graphicContext ; m_graphicContext = NULL ; CGContextRelease( bmCtx ) ; @@ -68,7 +69,7 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) { #if wxMAC_USE_CORE_GRAPHICS m_selected.EndRawAccess() ; - CGContextRef bmCtx = ((wxMacCGContext*)(m_graphicContext))->GetNativeContext() ; + CGContextRef bmCtx = (CGContextRef) m_graphicContext->GetNativeContext() ; delete m_graphicContext ; m_graphicContext = NULL ; CGContextRelease( bmCtx ) ; @@ -89,6 +90,8 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) int bytesPerPixel = 4 ; int w = bitmap.GetWidth() ; int h = bitmap.GetHeight() ; + m_width = w; + m_height = h; // TODO: should this be kCGImageAlphaPremultiplied[First,Last] ? CGImageAlphaInfo a = kCGImageAlphaNoneSkipFirst ; @@ -105,10 +108,10 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) CGContextTranslateCTM( bmCtx , 0 , m_selected.GetHeight() ) ; CGContextScaleCTM( bmCtx , 1 , -1 ) ; - m_graphicContext = new wxMacCGContext( bmCtx ) ; + SetGraphicsContext( wxGraphicsContext::CreateFromNative( bmCtx ) ); m_graphicContext->SetPen( m_pen ) ; m_graphicContext->SetBrush( m_brush ) ; - m_graphicContext->SetFont( m_font ) ; + m_graphicContext->SetFont( m_font , m_textForegroundColour) ; } m_ok = (m_graphicContext != NULL) ;