]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dfb/dcclient.h
Rebake from clean wx tree.
[wxWidgets.git] / include / wx / dfb / dcclient.h
index 57fd7dc592ddc12ecfba327b27114afdc145acb3..7559eb1b56726e561eaa24e7aa7fadce756a520b 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        wx/dfb/dcclient.h
-// Purpose:     wxWindowDC, wxClientDC and wxPaintDC
+// Purpose:     wxWindowDCImpl, wxClientDCImpl and wxPaintDCImpl
 // Author:      Vaclav Slavik
 // Created:     2006-08-10
 // RCS-ID:      $Id$
 #ifndef _WX_DFB_DCCLIENT_H_
 #define _WX_DFB_DCCLIENT_H_
 
-#include "wx/dc.h"
+#include "wx/dfb/dc.h"
 
-class WXDLLIMPEXP_CORE wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
 
 //-----------------------------------------------------------------------------
-// wxWindowDC
+// wxWindowDCImpl
 //-----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_CORE wxWindowDC : public wxDC
+class WXDLLIMPEXP_CORE wxWindowDCImpl : public wxDFBDCImpl
 {
 public:
-    wxWindowDC() : m_shouldFlip(false) {}
-    wxWindowDC(wxWindow *win);
-    virtual ~wxWindowDC();
+    wxWindowDCImpl(wxDC *owner) : wxDFBDCImpl(owner), m_shouldFlip(false) { }
+    wxWindowDCImpl(wxDC *owner, wxWindow *win);
+    virtual ~wxWindowDCImpl();
 
 protected:
     // initializes the DC for painting on given window; if rect!=NULL, then
@@ -32,39 +32,43 @@ protected:
     void InitForWin(wxWindow *win, const wxRect *rect);
 
 private:
+    wxRect    m_winRect; // rectangle of the window being painted
+
     bool m_shouldFlip; // flip the surface when done?
 
-    DECLARE_DYNAMIC_CLASS(wxWindowDC)
-    DECLARE_NO_COPY_CLASS(wxWindowDC)
+    friend class wxOverlayImpl; // for m_shouldFlip;
+
+    DECLARE_DYNAMIC_CLASS(wxWindowDCImpl)
+    wxDECLARE_NO_COPY_CLASS(wxWindowDCImpl);
 };
 
 //-----------------------------------------------------------------------------
-// wxClientDC
+// wxClientDCImpl
 //-----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_CORE wxClientDC : public wxWindowDC
+class WXDLLIMPEXP_CORE wxClientDCImpl : public wxWindowDCImpl
 {
 public:
-    wxClientDC() {}
-    wxClientDC(wxWindow *win);
+    wxClientDCImpl(wxDC *owner) : wxWindowDCImpl(owner) { }
+    wxClientDCImpl(wxDC *owner, wxWindow *win);
 
-    DECLARE_DYNAMIC_CLASS(wxClientDC)
-    DECLARE_NO_COPY_CLASS(wxClientDC)
+    DECLARE_DYNAMIC_CLASS(wxClientDCImpl)
+    wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
 };
 
 
 //-----------------------------------------------------------------------------
-// wxPaintDC
+// wxPaintDCImpl
 //-----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_CORE wxPaintDC : public wxClientDC
+class WXDLLIMPEXP_CORE wxPaintDCImpl : public wxClientDCImpl
 {
 public:
-    wxPaintDC() {}
-    wxPaintDC(wxWindow *win) : wxClientDC(win) {}
+    wxPaintDCImpl(wxDC *owner) : wxClientDCImpl(owner) { }
+    wxPaintDCImpl(wxDC *owner, wxWindow *win) : wxClientDCImpl(owner, win) { }
 
-    DECLARE_DYNAMIC_CLASS(wxPaintDC)
-    DECLARE_NO_COPY_CLASS(wxPaintDC)
+    DECLARE_DYNAMIC_CLASS(wxPaintDCImpl)
+    wxDECLARE_NO_COPY_CLASS(wxPaintDCImpl);
 };
 
 #endif // _WX_DFB_DCCLIENT_H_