/////////////////////////////////////////////////////////////////////////////
// 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_win(NULL) {}
- wxWindowDC(wxWindow *win);
- virtual ~wxWindowDC();
+ wxWindowDCImpl(wxDC *owner) : wxDFBDCImpl(owner), m_shouldFlip(false) { }
+ wxWindowDCImpl(wxDC *owner, wxWindow *win);
+ virtual ~wxWindowDCImpl();
+
+ virtual wxWindow *GetWindow() const { return m_win; }
protected:
// initializes the DC for painting on given window; if rect!=NULL, then
void InitForWin(wxWindow *win, const wxRect *rect);
private:
- wxWindow *m_win; // the window the DC paints on
+ wxWindow *m_win;
+ wxRect m_winRect; // rectangle of the window being painted
+
+ bool m_shouldFlip; // flip the surface when done?
+
+ friend class wxOverlayImpl; // for m_shouldFlip;
- DECLARE_DYNAMIC_CLASS(wxWindowDC)
- DECLARE_NO_COPY_CLASS(wxWindowDC)
+ DECLARE_DYNAMIC_CLASS(wxWindowDCImpl)
+ DECLARE_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)
+ DECLARE_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)
+ DECLARE_NO_COPY_CLASS(wxPaintDCImpl)
};
#endif // _WX_DFB_DCCLIENT_H_