#ifndef WX_PRECOMP
#include "wx/dcclient.h"
+ #include "wx/dcmemory.h"
#include "wx/log.h"
#include "wx/region.h"
#endif
*width = FixedToInt(textAfter - textBefore);
::ATSUDisposeTextLayout(atsuLayout);
+#if SIZEOF_WCHAR_T == 4
+ free( ubuf ) ;
+#endif
}
void wxMacCoreGraphicsContext::GetPartialTextExtents(const wxString& text, wxArrayDouble& widths) const
}
::ATSUDisposeTextLayout(atsuLayout);
+#if SIZEOF_WCHAR_T == 4
+ free( ubuf ) ;
+#endif
}
void * wxMacCoreGraphicsContext::GetNativeContext()
wxGraphicsContext * wxMacCoreGraphicsRenderer::CreateContext( const wxWindowDC& dc)
{
- return new wxMacCoreGraphicsContext(this,(CGContextRef)dc.GetWindow()->MacGetCGContextRef() );
+ wxMemoryDC* mdc = wxDynamicCast(&dc, wxMemoryDC);
+ if ( mdc )
+ {
+ return new wxMacCoreGraphicsContext(this,
+ (CGContextRef)mdc->GetGraphicsContext()->GetNativeContext());
+ }
+ else
+ {
+ return new wxMacCoreGraphicsContext(this,(CGContextRef)dc.GetWindow()->MacGetCGContextRef() );
+ }
}
wxGraphicsContext * wxMacCoreGraphicsRenderer::CreateContextFromNativeContext( void * context )