m_overlay.BeginDrawing(dc);
}
-void wxDCOverlay::Clear()
+void wxDCOverlay::Clear()
{
m_overlay.Clear(m_dc);
}
// generic implementation of wxOverlayImpl
// ----------------------------------------------------------------------------
-#if !wxHAS_NATIVE_OVERLAY
+#ifndef wxHAS_NATIVE_OVERLAY
wxOverlayImpl::wxOverlayImpl()
{
#if defined(__WXGTK__) || defined(__WXMSW__)
m_window = NULL ;
-#endif
+#endif
m_x = m_y = m_width = m_height = 0 ;
}
{
}
-bool wxOverlayImpl::IsOk()
+bool wxOverlayImpl::IsOk()
{
return m_bmpSaved.Ok() ;
}
void wxOverlayImpl::Init( wxWindowDC* dc, int x , int y , int width , int height )
{
-#if defined(__WXGTK__)
- m_window = dc->m_owner;
+#if defined(__WXGTK20__)
+#if wxUSE_NEW_DC
+ wxImplDC *impl = dc->GetImpl();
+ wxGTKWindowImplDC *gtk_impl = wxDynamicCast( impl, wxGTKWindowImplDC );
+ if (gtk_impl)
+ m_window = gtk_impl->m_owningWindow;
#else
- #if defined (__WXMSW__)
+ m_window = dc->m_owningWindow;
+#endif
+#elif defined(__WXGTK__)
+ m_window = dc->m_owner;
+#elif defined(__WXMSW__)
m_window = dc->GetWindow();
- #endif // __WXMSW__
-
#endif
wxMemoryDC dcMem ;
m_bmpSaved.Create( width, height );
dcMem.SelectObject( wxNullBitmap );
}
-void wxOverlayImpl::Clear(wxWindowDC* dc)
+void wxOverlayImpl::Clear(wxWindowDC* dc)
{
wxMemoryDC dcMem ;
dcMem.SelectObject( m_bmpSaved );