X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/125817d0e302ec5f4a3ae0186ac97c477a35455e..ab67e8874db324fab5223cc8d5dff8a8de3e2b77:/include/wx/dcbuffer.h diff --git a/include/wx/dcbuffer.h b/include/wx/dcbuffer.h index 1ef12f47b4..40cb8179cd 100644 --- a/include/wx/dcbuffer.h +++ b/include/wx/dcbuffer.h @@ -41,7 +41,7 @@ // is private style and not returned by GetStyle. #define wxBUFFER_USES_SHARED_BUFFER 0x04 -class WXDLLEXPORT wxBufferedDC : public wxMemoryDC +class WXDLLIMPEXP_CORE wxBufferedDC : public wxMemoryDC { public: // Default ctor, must subsequently call Init for two stage construction. @@ -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); }; @@ -149,7 +147,7 @@ private: // Creates a double buffered wxPaintDC, optionally allowing the // user to specify their own buffer to use. -class WXDLLEXPORT wxBufferedPaintDC : public wxBufferedDC +class WXDLLIMPEXP_CORE wxBufferedPaintDC : public wxBufferedDC { public: // If no bitmap is supplied by the user, a temporary one will be created. @@ -199,7 +197,7 @@ private: wxPaintDC m_paintdc; DECLARE_ABSTRACT_CLASS(wxBufferedPaintDC) - DECLARE_NO_COPY_CLASS(wxBufferedPaintDC) + wxDECLARE_NO_COPY_CLASS(wxBufferedPaintDC); }; @@ -216,40 +214,25 @@ private: #define wxAutoBufferedPaintDCBase wxBufferedPaintDC #endif - -#ifdef __WXDEBUG__ - -class wxAutoBufferedPaintDC : public wxAutoBufferedPaintDCBase +class WXDLLIMPEXP_CORE wxAutoBufferedPaintDC : public wxAutoBufferedPaintDCBase { 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 wxAutoBufferedPaintDCBase wxAutoBufferedPaintDC; - -#endif // Check if the window is natively double buffered and will return a wxPaintDC