#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)
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());
#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);
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);
CGContextDrawImage(context, srcRect, image);
CGContextRestoreGState(context);
-
+#endif
return bmp;
}