]> git.saurik.com Git - wxWidgets.git/blobdiff - src/dfb/dcclient.cpp
applying patch, fixes #10523
[wxWidgets.git] / src / dfb / dcclient.cpp
index 6514a4f599674a13e5e061d6cf36bca05c76b267..2a13ea7e2b1f07f51b9a297d4ea89106bd237eaa 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/dfb/dcclient.cpp
-// Purpose:     wxWindowDC, wxClientDC and wxPaintDC
+// Purpose:     wxWindowDCImpl, wxClientDCImpl and wxPaintDC
 // Author:      Vaclav Slavik
 // Created:     2006-08-10
 // RCS-ID:      $Id$
     #pragma hdrstop
 #endif
 
-#include "wx/dcclient.h"
-
 #ifndef WX_PRECOMP
     #include "wx/window.h"
     #include "wx/nonownedwnd.h"
 #endif
 
+#include "wx/dfb/dcclient.h"
 #include "wx/dfb/private.h"
 
 #define TRACE_PAINT  "paint"
@@ -93,21 +92,22 @@ wxIDirectFBSurfacePtr CreateDummySurface(wxWindow *win, const wxRect *rect)
 }
 
 //-----------------------------------------------------------------------------
-// wxWindowDC
+// wxWindowDCImpl
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxWindowDC, wxDC)
+IMPLEMENT_ABSTRACT_CLASS(wxWindowDCImpl, wxDFBDCImpl)
 
-wxWindowDC::wxWindowDC(wxWindow *win)
+wxWindowDCImpl::wxWindowDCImpl(wxDC *owner, wxWindow *win)
+              : wxDFBDCImpl(owner)
 {
     InitForWin(win, NULL);
 }
 
-void wxWindowDC::InitForWin(wxWindow *win, const wxRect *rect)
+void wxWindowDCImpl::InitForWin(wxWindow *win, const wxRect *rect)
 {
     wxCHECK_RET( win, "invalid window" );
 
-    m_win = win;
+    m_window = win;
 
     // obtain the surface used for painting:
     wxPoint origin;
@@ -197,7 +197,7 @@ void wxWindowDC::InitForWin(wxWindow *win, const wxRect *rect)
     SetDeviceOrigin(origin.x, origin.y);
 }
 
-wxWindowDC::~wxWindowDC()
+wxWindowDCImpl::~wxWindowDCImpl()
 {
     wxIDirectFBSurfacePtr surface(GetDirectFBSurface());
     if ( !surface )
@@ -211,7 +211,7 @@ wxWindowDC::~wxWindowDC()
     {
         // paint overlays on top of the surface being drawn to by this DC
         // before showing anything on the screen:
-        m_win->PaintOverlays(m_winRect);
+        GetWindow()->PaintOverlays(m_winRect);
 
         DFBSurfaceCapabilities caps = DSCAPS_NONE;
         surface->GetCapabilities(&caps);
@@ -227,12 +227,13 @@ wxWindowDC::~wxWindowDC()
 }
 
 //-----------------------------------------------------------------------------
-// wxClientDC
+// wxClientDCImpl
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC)
+IMPLEMENT_ABSTRACT_CLASS(wxClientDCImpl, wxWindowDCImpl)
 
-wxClientDC::wxClientDC(wxWindow *win)
+wxClientDCImpl::wxClientDCImpl(wxDC *owner, wxWindow *win)
+              : wxWindowDCImpl(owner, win)
 {
     wxCHECK_RET( win, "invalid window" );
 
@@ -244,4 +245,4 @@ wxClientDC::wxClientDC(wxWindow *win)
 // wxPaintDC
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxWindowDC)
+IMPLEMENT_ABSTRACT_CLASS(wxPaintDCImpl, wxWindowDCImpl)