X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..3b49331b7441e091fc5997b830801d76a1243f28:/include/wx/dfb/dcclient.h diff --git a/include/wx/dfb/dcclient.h b/include/wx/dfb/dcclient.h index 5f1d7672e2..6eae9c4aa9 100644 --- a/include/wx/dfb/dcclient.h +++ b/include/wx/dfb/dcclient.h @@ -13,7 +13,7 @@ #include "wx/dc.h" -class WXDLLIMPEXP_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxWindow; //----------------------------------------------------------------------------- // wxWindowDC @@ -22,37 +22,38 @@ class WXDLLIMPEXP_CORE wxWindow; class WXDLLIMPEXP_CORE wxWindowDC : public wxDC { public: - wxWindowDC() {} + wxWindowDC() : m_shouldFlip(false) {} wxWindowDC(wxWindow *win); + virtual ~wxWindowDC(); + + virtual wxWindow *GetWindow() const { return m_win; } protected: - void InitForWin(wxWindow *win); + // initializes the DC for painting on given window; if rect!=NULL, then + // for painting only on the given region of the window + void InitForWin(wxWindow *win, const wxRect *rect); - DECLARE_DYNAMIC_CLASS(wxWindowDC) - DECLARE_NO_COPY_CLASS(wxWindowDC) -}; +private: + wxWindow *m_win; + wxRect m_winRect; // rectangle of the window being painted -//----------------------------------------------------------------------------- -// base class for wxClientDC and wxPaintDC -//----------------------------------------------------------------------------- + bool m_shouldFlip; // flip the surface when done? -class WXDLLIMPEXP_CORE wxClientDCBase : public wxWindowDC -{ -public: - wxClientDCBase() {} - wxClientDCBase(wxWindow *win); + friend class wxOverlayImpl; // for m_shouldFlip; + + DECLARE_DYNAMIC_CLASS(wxWindowDC) + DECLARE_NO_COPY_CLASS(wxWindowDC) }; //----------------------------------------------------------------------------- // wxClientDC //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxClientDC : public wxClientDCBase +class WXDLLIMPEXP_CORE wxClientDC : public wxWindowDC { public: wxClientDC() {} - wxClientDC(wxWindow *win) : wxClientDCBase(win) {} - ~wxClientDC(); + wxClientDC(wxWindow *win); DECLARE_DYNAMIC_CLASS(wxClientDC) DECLARE_NO_COPY_CLASS(wxClientDC) @@ -63,12 +64,11 @@ public: // wxPaintDC //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxPaintDC : public wxClientDCBase +class WXDLLIMPEXP_CORE wxPaintDC : public wxClientDC { public: wxPaintDC() {} - wxPaintDC(wxWindow *win) : wxClientDCBase(win) {} - ~wxPaintDC(); + wxPaintDC(wxWindow *win) : wxClientDC(win) {} DECLARE_DYNAMIC_CLASS(wxPaintDC) DECLARE_NO_COPY_CLASS(wxPaintDC)