************* wx.BufferedDC ************* Inheritance diagram for `wx.BufferedDC`: | .. inheritance-diagram:: wx.BufferedDC | Description =========== 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 `wx.Bitmap `_ ) and then copied to the screen, using the associated DC, only once, when this object is destroyed. `wx.BufferedDC` itself is typically associated with `wx.ClientDC `_, if you want to use it in your ``wx.EVT_PAINT`` handler, you should look at `wx.BufferedPaintDC `_ instead. When used like this, a valid DC must be specified in the constructor while the *buffer* bitmap doesn't have to be explicitly provided, by default this class will allocate the bitmap of required size itself. However using a dedicated bitmap can speed up the redrawing process by eliminating the repeated creation and destruction of a possibly big bitmap. Otherwise, `wx.BufferedDC` can be used in the same way as any other device context. There is another possible use for `wx.BufferedDC` is to use it to maintain a backing store for the window contents. In this case, the associated DC may be ``None`` but a valid backing store bitmap should be specified. Finally, please note that GTK+ 2.0 as well as OS X provide double buffering themselves natively. You can either use `wx.Window.IsDoubleBuffered `_ to determine whether you need to use buffering or not, or use `wx.AutoBufferedPaintDC `_ to avoid needless double buffering on the systems which already do it automatically. .. seealso:: `wx.DC `_, `wx.MemoryDC `_, `wx.BufferedPaintDC `_, `wx.AutoBufferedPaintDC `_ Derived From ^^^^^^^^^^^^^ * `wx.MemoryDC `_ * `wx.DC `_ * `wx.Object `_ Known Subclasses ^^^^^^^^^^^^^^^^ `wx.BufferedPaintDC `_ Methods Summary ^^^^^^^^^^^^^^^ * `__init__ <#__init__>`_ * `GetStyle <#GetStyle>`_ * `SetStyle <#SetStyle>`_ * `UnMask <#UnMask>`_ Class API ========= Methods ^^^^^^^ .. method:: __init__(dc, buffer=wx.NullBitmap, style=wx.BUFFER_CLIENT_AREA) Constructs a buffered DC. **Parameters:** * `dc` (`wx.DC `_) * `buffer` (`wx.Bitmap `_) * `style` (int) | **Returns:** `wx.BufferedDC `_ -------- .. method:: GetStyle() `No docstrings available for this method.` -------- .. method:: SetStyle(style) | **Parameters:** * `style` (int) -------- .. method:: UnMask() Blits the buffer to the dc, and detaches the dc from the buffer (so it can be effectively used once only). This is usually only called in the destructor.