]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dcbuffer.h
Fixed bug: wxPropertyGridInterface::SetPropertyReadOnly() with wxPG_DONT_RECURSE...
[wxWidgets.git] / interface / wx / dcbuffer.h
index 569ccdba0345959cfea96645733a77518b8e9b3a..55c61c9483f9afe8844c68306aae46a43e8b87c8 100644 (file)
@@ -8,7 +8,6 @@
 
 /**
     @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
@@ -51,7 +50,7 @@ public:
 
     //@{
     /**
-        Creates a buffer for the provided @dc. Init() must not be called when
+        Creates a buffer for the provided @dc. Init() must not be called when
         using this constructor.
 
         @param dc
@@ -61,6 +60,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,9 +87,7 @@ public:
             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);
-    wxBufferedDC(wxDC* dc, wxBitmap& buffer,
+    wxBufferedDC(wxDC* dc, wxBitmap& buffer = wxNullBitmap,
                  int style = wxBUFFER_CLIENT_AREA);
     //@}
 
@@ -82,7 +95,7 @@ public:
         Copies everything drawn on the DC so far to the underlying DC
         associated with this object, if any.
     */
-    ~wxBufferedDC();
+    virtual ~wxBufferedDC();
 
     //@{
     /**
@@ -91,7 +104,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 +113,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
@@ -134,7 +146,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 +186,6 @@ public:
         Copies everything drawn on the DC so far to the window associated with
         this object, using a wxPaintDC.
     */
-    ~wxBufferedPaintDC();
+    virtual ~wxBufferedPaintDC();
 };