return err;
}
-void wxOverlayImpl::Init( wxWindowDC* dc, int x , int y , int width , int height )
+void wxOverlayImpl::Init( wxDC* dc, int x , int y , int width , int height )
{
wxASSERT_MSG( !IsOk() , _("You cannot Init an overlay twice") );
wxASSERT_MSG( err == noErr , _("Couldn't init the context on the overlay window") );
}
-void wxOverlayImpl::BeginDrawing( wxWindowDC* dc)
+void wxOverlayImpl::BeginDrawing( wxDC* dc)
{
- dc->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) );
- wxSize size = dc->GetSize() ;
- dc->SetClippingRegion( 0 , 0 , size.x , size.y ) ;
+ wxDCImpl *impl = dc->GetImpl();
+ wxGCDCImpl *win_impl = wxDynamicCast(impl,wxGCDCImpl);
+ if (win_impl)
+ {
+ win_impl->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) );
+ dc->SetClippingRegion( m_x , m_y , m_width , m_height ) ;
+ }
}
-void wxOverlayImpl::EndDrawing( wxWindowDC* dc)
+void wxOverlayImpl::EndDrawing( wxDC* dc)
{
- dc->SetGraphicsContext(NULL);
- CGContextSynchronize( m_overlayContext );
+ wxDCImpl *impl = dc->GetImpl();
+ wxGCDCImpl *win_impl = wxDynamicCast(impl,wxGCDCImpl);
+ if (win_impl)
+ win_impl->SetGraphicsContext(NULL);
+
+ CGContextFlush( m_overlayContext );
}
-void wxOverlayImpl::Clear(wxWindowDC* WXUNUSED(dc))
+void wxOverlayImpl::Clear(wxDC* WXUNUSED(dc))
{
wxASSERT_MSG( IsOk() , _("You cannot Clear an overlay that is not inited") );
CGRect box = CGRectMake( m_x - 1, m_y - 1 , m_width + 2 , m_height + 2 );
{
#ifndef __LP64__
OSStatus err = QDEndCGContext(GetWindowPort(m_overlayWindow), &m_overlayContext);
- wxASSERT_MSG( err == noErr , _("Couldn't end the context on the overlay window") );
+ if ( err != noErr )
+ {
+ wxFAIL_MSG("Couldn't end the context on the overlay window");
+ }
#endif
m_overlayContext = NULL ;
}