X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..9d646d31c9976a59ab05f72671f217972b2d7770:/include/wx/dfb/dcclient.h?ds=sidebyside diff --git a/include/wx/dfb/dcclient.h b/include/wx/dfb/dcclient.h index 5f1d7672e2..17ae7ed988 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) + DECLARE_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) + DECLARE_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) + DECLARE_NO_COPY_CLASS(wxPaintDCImpl) }; #endif // _WX_DFB_DCCLIENT_H_