.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.AutoBufferedPaintDC:

==========================================================================================================================================
|phoenix_title|  **wx.AutoBufferedPaintDC**
==========================================================================================================================================

This :ref:`wx.DC`  derivative can be used inside of an  ``EVT_PAINT()``   event handler to achieve double-buffered drawing.           

Just use this class instead of :ref:`wx.PaintDC`  and make sure :meth:`wx.Window.SetBackgroundStyle`   is called with ``wx.BG_STYLE_PAINT`` somewhere in the class initialization code, and that's all you have to do to (mostly) avoid flicker. 

The difference between :ref:`wx.BufferedPaintDC`  and this class is that this class won't double-buffer on platforms which have native double-buffering already, avoiding any unnecessary buffering to avoid flicker. 

:ref:`wx.AutoBufferedPaintDC`  is simply a typedef of :ref:`wx.PaintDC`  on platforms that have native double-buffering, otherwise, it is a typedef of :ref:`wx.BufferedPaintDC`. 







         



.. seealso:: :ref:`wx.DC`, :ref:`wx.BufferedPaintDC`, :ref:`wx.PaintDC`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>AutoBufferedPaintDC</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.AutoBufferedPaintDC_inheritance.png" alt="Inheritance diagram of AutoBufferedPaintDC" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.AutoBufferedPaintDC.html" title="This wx.DC  derivative can be used inside of an  ``EVT_PAINT()``   event handler to achieve double-buffered drawing." alt="" coords="5,392,192,421"/> <area shape="rect" id="node2" href="wx.BufferedPaintDC.html" title="This is a subclass of wx.BufferedDC  which can be used inside of an  ``EVT_PAINT()``   event handler to achieve double-buffered drawing." alt="" coords="21,315,177,344"/> <area shape="rect" id="node3" href="wx.BufferedDC.html" title="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 wx.DC, only once, when this object is destroyed." alt="" coords="38,237,159,267"/> <area shape="rect" id="node4" href="wx.MemoryDC.html" title="A memory device context provides a means to draw graphics onto a bitmap." alt="" coords="39,160,158,189"/> <area shape="rect" id="node5" href="wx.DC.html" title="A wx.DC  is a `'device context'`  onto which graphics and text can be drawn." alt="" coords="63,83,135,112"/> <area shape="rect" id="node6" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="55,5,143,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.AutoBufferedPaintDC.__init__`                                         Constructor.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.AutoBufferedPaintDC(DC)

   **Possible constructors**::

       AutoBufferedPaintDC(window)
       
   
   This DC derivative can be used inside of an EVT_PAINT() event
   handler to achieve double-buffered drawing.



   .. method:: __init__(self, window)

      Constructor.                  

      Pass a pointer to the window on which you wish to paint.                  


      :param `window`: 
      :type `window`: wx.Window