X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..b99450eecb344b39cb8dc31e56d458e582a8eeba:/interface/wx/dcbuffer.h diff --git a/interface/wx/dcbuffer.h b/interface/wx/dcbuffer.h index 0e7a0f69d5..ef03428a37 100644 --- a/interface/wx/dcbuffer.h +++ b/interface/wx/dcbuffer.h @@ -3,14 +3,14 @@ // Purpose: interface of wxBufferedDC // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxBufferedDC This class provides a simple way to avoid flicker: when drawing on it, - everything is in fact first drawn on an in-memory buffer (a wxBitmap) and + everything is infact first drawn on an in-memory buffer (a wxBitmap) and then copied to the screen, using the associated wxDC, only once, when this object is destroyed. wxBufferedDC itself is typically associated with wxClientDC, if you want to use it in your @c EVT_PAINT handler, you should @@ -48,9 +48,8 @@ public: */ wxBufferedDC(); - //@{ /** - Creates a buffer for the provided @dc. Init() must not be called when + Creates a buffer for the provided @a dc. Init() must not be called when using this constructor. @param dc @@ -60,6 +59,22 @@ public: @param area The size of the bitmap to be used for buffering (this bitmap is created internally when it is not given explicitly). + @param style + wxBUFFER_CLIENT_AREA to indicate that just the client area of the + window is buffered, or wxBUFFER_VIRTUAL_AREA to indicate that the + buffer bitmap covers the virtual area. + */ + wxBufferedDC(wxDC* dc, const wxSize& area, + int style = wxBUFFER_CLIENT_AREA); + + /** + Creates a buffer for the provided dc. Init() must not be called when + using this constructor. + + @param dc + The underlying DC: everything drawn to this object will be flushed + to this DC when this object is destroyed. You may pass @NULL in + order to just initialize the buffer, and not flush it. @param buffer Explicitly provided bitmap to be used for buffering: this is the most efficient solution as the bitmap doesn't have to be recreated @@ -71,17 +86,14 @@ public: window is buffered, or wxBUFFER_VIRTUAL_AREA to indicate that the buffer bitmap covers the virtual area. */ - wxBufferedDC(wxDC* dc, const wxSize& area, + wxBufferedDC(wxDC* dc, wxBitmap& buffer = wxNullBitmap, int style = wxBUFFER_CLIENT_AREA); - wxBufferedDC(wxDC* dc, wxBitmap& buffer, - int style = wxBUFFER_CLIENT_AREA); - //@} /** Copies everything drawn on the DC so far to the underlying DC associated with this object, if any. */ - ~wxBufferedDC(); + virtual ~wxBufferedDC(); //@{ /** @@ -90,7 +102,7 @@ public: */ void Init(wxDC* dc, const wxSize& area, int style = wxBUFFER_CLIENT_AREA); - void Init(wxDC* dc, wxBitmap& buffer, + void Init(wxDC* dc, wxBitmap& buffer = wxNullBitmap, int style = wxBUFFER_CLIENT_AREA); //@} }; @@ -172,6 +184,6 @@ public: Copies everything drawn on the DC so far to the window associated with this object, using a wxPaintDC. */ - ~wxBufferedPaintDC(); + virtual ~wxBufferedPaintDC(); };