X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/888dde65f43d5f57e8fb2028b27191cca1741403..ab67e8874db324fab5223cc8d5dff8a8de3e2b77:/include/wx/dcbuffer.h diff --git a/include/wx/dcbuffer.h b/include/wx/dcbuffer.h index 30598a1d3e..40cb8179cd 100644 --- a/include/wx/dcbuffer.h +++ b/include/wx/dcbuffer.h @@ -112,14 +112,10 @@ private: // common part of Init()s void InitCommon(wxDC *dc, int style) { - wxASSERT_MSG( !m_dc, _T("wxBufferedDC already initialised") ); + wxASSERT_MSG( !m_dc, wxT("wxBufferedDC already initialised") ); m_dc = dc; m_style = style; - - // inherit the same layout direction as the original DC - if (dc && dc->IsOk()) - SetLayoutDirection(dc->GetLayoutDirection()); } // check that the bitmap is valid and use it @@ -138,8 +134,10 @@ private: // the buffering style int m_style; + wxSize m_area; + DECLARE_DYNAMIC_CLASS(wxBufferedDC) - DECLARE_NO_COPY_CLASS(wxBufferedDC) + wxDECLARE_NO_COPY_CLASS(wxBufferedDC); }; @@ -199,7 +197,7 @@ private: wxPaintDC m_paintdc; DECLARE_ABSTRACT_CLASS(wxBufferedPaintDC) - DECLARE_NO_COPY_CLASS(wxBufferedPaintDC) + wxDECLARE_NO_COPY_CLASS(wxBufferedPaintDC); }; @@ -216,9 +214,6 @@ private: #define wxAutoBufferedPaintDCBase wxBufferedPaintDC #endif - -#ifdef __WXDEBUG__ - class WXDLLIMPEXP_CORE wxAutoBufferedPaintDC : public wxAutoBufferedPaintDCBase { public: @@ -226,30 +221,18 @@ public: wxAutoBufferedPaintDC(wxWindow* win) : wxAutoBufferedPaintDCBase(win) { - TestWinStyle(win); + wxASSERT_MSG( win->GetBackgroundStyle() == wxBG_STYLE_PAINT, + "You need to call SetBackgroundStyle(wxBG_STYLE_PAINT) in ctor, " + "and also, if needed, paint the background in wxEVT_PAINT handler." + ); } virtual ~wxAutoBufferedPaintDC() { } private: - - void TestWinStyle(wxWindow* win) - { - // Help the user to get the double-buffering working properly. - wxASSERT_MSG( win->GetBackgroundStyle() == wxBG_STYLE_CUSTOM, - wxT("In constructor, you need to call SetBackgroundStyle(wxBG_STYLE_CUSTOM), ") - wxT("and also, if needed, paint the background manually in the paint event handler.")); - } - - DECLARE_NO_COPY_CLASS(wxAutoBufferedPaintDC) + wxDECLARE_NO_COPY_CLASS(wxAutoBufferedPaintDC); }; -#else // !__WXDEBUG__ - -// In release builds, just use typedef -typedef WXDLLIMPEXP_CORE wxAutoBufferedPaintDCBase wxAutoBufferedPaintDC; - -#endif // Check if the window is natively double buffered and will return a wxPaintDC