X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..ceb9b8db81a7ae5d1c997610a689e47d322a5dfd:/interface/wx/dcbuffer.h diff --git a/interface/wx/dcbuffer.h b/interface/wx/dcbuffer.h index 569ccdba03..ec2bb28d70 100644 --- a/interface/wx/dcbuffer.h +++ b/interface/wx/dcbuffer.h @@ -3,12 +3,11 @@ // Purpose: interface of wxBufferedDC // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxBufferedDC - @wxheader{dcbuffer.h} 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 @@ -49,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 @@ -61,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 @@ -72,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(); //@{ /** @@ -91,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); //@} }; @@ -100,7 +111,6 @@ public: /** @class wxAutoBufferedPaintDC - @wxheader{dcbuffer.h} This wxDC derivative can be used inside of an @c EVT_PAINT() event handler to achieve double-buffered drawing. Just use this class instead of @@ -110,7 +120,7 @@ public: The difference between wxBufferedPaintDC and this class is that this class won't double-buffer on platforms which have native double-buffering - already, avoiding any unneccessary buffering to avoid flicker. + already, avoiding any unnecessary buffering to avoid flicker. wxAutoBufferedPaintDC is simply a typedef of wxPaintDC on platforms that have native double-buffering, otherwise, it is a typedef of @@ -134,7 +144,6 @@ public: /** @class wxBufferedPaintDC - @wxheader{dcbuffer.h} This is a subclass of wxBufferedDC which can be used inside of an @c EVT_PAINT() event handler to achieve double-buffered drawing. Just use @@ -175,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(); };