X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4fcb208a4fdd14091d122f9630c18335b8c2c2d3..ae901b234c4a0aa7c1777b3bd181dd7f8517ad21:/src/osx/carbon/dcscreen.cpp diff --git a/src/osx/carbon/dcscreen.cpp b/src/osx/carbon/dcscreen.cpp index 3f0d549ce3..5622d557a7 100644 --- a/src/osx/carbon/dcscreen.cpp +++ b/src/osx/carbon/dcscreen.cpp @@ -16,7 +16,9 @@ #include "wx/osx/private.h" #include "wx/graphics.h" +#if wxOSX_USE_COCOA_OR_CARBON #include "wx/osx/private/glgrab.h" +#endif IMPLEMENT_ABSTRACT_CLASS(wxScreenDCImpl, wxWindowDCImpl) @@ -29,8 +31,8 @@ wxScreenDCImpl::wxScreenDCImpl( wxDC *owner ) : wxWindowDCImpl( owner ) { #if wxOSX_USE_COCOA_OR_IPHONE - m_graphicContext = NULL; - m_ok = false ; + SetGraphicsContext( wxGraphicsContext::Create() ); + m_ok = true ; #else CGRect cgbounds ; cgbounds = CGDisplayBounds(CGMainDisplayID()); @@ -59,6 +61,8 @@ wxScreenDCImpl::~wxScreenDCImpl() #endif } +// TODO Switch to CGWindowListCreateImage for 10.5 and above + wxBitmap wxScreenDCImpl::DoGetAsBitmap(const wxRect *subrect) const { CGRect srcRect = CGRectMake(0, 0, m_width, m_height); @@ -69,9 +73,9 @@ wxBitmap wxScreenDCImpl::DoGetAsBitmap(const wxRect *subrect) const srcRect.size.width = subrect->GetWidth(); srcRect.size.height = subrect->GetHeight(); } - wxBitmap bmp = wxBitmap(srcRect.size.width, srcRect.size.height, 32); - +#if wxOSX_USE_IPHONE +#else CGContextRef context = (CGContextRef)bmp.GetHBITMAP(); CGContextSaveGState(context); @@ -89,6 +93,6 @@ wxBitmap wxScreenDCImpl::DoGetAsBitmap(const wxRect *subrect) const CGContextDrawImage(context, srcRect, image); CGContextRestoreGState(context); - +#endif return bmp; }