void wxOverlayImpl::BeginDrawing( wxWindowDC* dc)
{
- dc->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) );
- wxSize size = dc->GetSize() ;
- dc->SetClippingRegion( 0 , 0 , size.x , size.y ) ;
+ wxDCImpl *impl = dc->GetImpl();
+ wxWindowDCImpl *win_impl = wxDynamicCast(impl,wxWindowDCImpl);
+ if (win_impl)
+ {
+ win_impl->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) );
+ wxSize size = dc->GetSize() ;
+ dc->SetClippingRegion( 0 , 0 , size.x , size.y ) ;
+ }
}
void wxOverlayImpl::EndDrawing( wxWindowDC* dc)
{
- dc->SetGraphicsContext(NULL);
- CGContextSynchronize( m_overlayContext );
+ wxDCImpl *impl = dc->GetImpl();
+ wxWindowDCImpl *win_impl = wxDynamicCast(impl,wxWindowDCImpl);
+ if (win_impl)
+ win_impl->SetGraphicsContext(NULL);
+
+ CGContextFlush( m_overlayContext );
}
-void wxOverlayImpl::Clear(wxWindowDC* dc)
+void wxOverlayImpl::Clear(wxWindowDC* 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 );