]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dcbuffer.h
Allow customizing AUI tab colours in wxAuiTabArt.
[wxWidgets.git] / interface / wx / dcbuffer.h
index 569ccdba0345959cfea96645733a77518b8e9b3a..ec2bb28d7000685d7a2b18345035c358b8ba1e9e 100644 (file)
@@ -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 @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();
 };