X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..ca77701441e39245dcbfce903049e76f166979e5:/include/wx/dfb/dcclient.h diff --git a/include/wx/dfb/dcclient.h b/include/wx/dfb/dcclient.h index 5f1d7672e2..7559eb1b56 100644 --- a/include/wx/dfb/dcclient.h +++ b/include/wx/dfb/dcclient.h @@ -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$ @@ -11,67 +11,64 @@ #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() {} - wxWindowDC(wxWindow *win); + wxWindowDCImpl(wxDC *owner) : wxDFBDCImpl(owner), m_shouldFlip(false) { } + wxWindowDCImpl(wxDC *owner, wxWindow *win); + virtual ~wxWindowDCImpl(); 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: + 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(wxWindowDCImpl) + wxDECLARE_NO_COPY_CLASS(wxWindowDCImpl); }; //----------------------------------------------------------------------------- -// wxClientDC +// wxClientDCImpl //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxClientDC : public wxClientDCBase +class WXDLLIMPEXP_CORE wxClientDCImpl : public wxWindowDCImpl { public: - wxClientDC() {} - wxClientDC(wxWindow *win) : wxClientDCBase(win) {} - ~wxClientDC(); + 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 wxClientDCBase +class WXDLLIMPEXP_CORE wxPaintDCImpl : public wxClientDCImpl { public: - wxPaintDC() {} - wxPaintDC(wxWindow *win) : wxClientDCBase(win) {} - ~wxPaintDC(); + 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_