.. wxPython Phoenix documentation

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

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

.. include:: headings.inc



.. _wx.ScreenDC:

==========================================================================================================================================
|phoenix_title|  **wx.ScreenDC**
==========================================================================================================================================

A :ref:`wx.ScreenDC`  can be used to paint on the screen.          

This should normally be constructed as a temporary stack object; don't store a :ref:`wx.ScreenDC`  object. 

When using multiple monitors, :ref:`wx.ScreenDC`  corresponds to the entire virtual screen composed of all of them. Notice that coordinates on :ref:`wx.ScreenDC`  can be negative in this case, see :meth:`wx.Display.GetGeometry`   for more. 





         



.. seealso:: :ref:`wx.DC`, :ref:`wx.MemoryDC`, :ref:`wx.PaintDC`, :ref:`wx.ClientDC`, :ref:`wx.WindowDC`    







|

|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>ScreenDC</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.ScreenDC_inheritance.png" alt="Inheritance diagram of ScreenDC" 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.ScreenDC.html" title="wx.ScreenDC" alt="" coords="5,160,113,189"/> <area shape="rect" id="node2" href="wx.DC.html" title="wx.DC" alt="" coords="23,83,95,112"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="16,5,103,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.ScreenDC.__init__`                                                    Constructor.
:meth:`~wx.ScreenDC.EndDrawingOnTop`                                             Use this in conjunction with :meth:`~ScreenDC.StartDrawingOnTop` .
:meth:`~wx.ScreenDC.StartDrawingOnTop`                                           Use this in conjunction with :meth:`~ScreenDC.EndDrawingOnTop`   to ensure that drawing to the screen occurs on top of existing windows.
================================================================================ ================================================================================


|


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


.. class:: wx.ScreenDC(DC)

   **Possible constructors**::

       ScreenDC()
       
   
   A ScreenDC can be used to paint on the screen.



   .. method:: __init__(self)

      Constructor.                   





   .. staticmethod:: EndDrawingOnTop()

      Use this in conjunction with :meth:`StartDrawingOnTop` .                  

      This function destroys the temporary window created to implement on-top drawing (X only).                  

      :rtype: `bool`








   .. staticmethod:: StartDrawingOnTop(*args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **StartDrawingOnTop** `(window)`
      
      Use this in conjunction with :meth:`EndDrawingOnTop`   to ensure that drawing to the screen occurs on top of existing windows.                  
      
      Without this, some window systems (such as X) only allow drawing to take place underneath other windows. 
      
      This version of :meth:`StartDrawingOnTop`   is used to specify that the area that will be drawn on coincides with the given window. It is recommended that an area of the screen is specified with :meth:`StartDrawingOnTop`   because with large regions, flickering effects are noticeable when destroying the temporary transparent window used to implement this feature. 
      
      You might use this function when implementing a drag feature, for example as in the :ref:`wx.SplitterWindow`  implementation. 
      
                      
      
      
      :param `window`: 
      :type `window`: wx.Window
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      .. note:: 
      
         This function is probably obsolete since the X implementations allow drawing directly on the screen now. However, the fact that this function allows the screen to be refreshed afterwards, may be useful to some applications.   
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **StartDrawingOnTop** `(rect=None)`
      
      Use this in conjunction with :meth:`EndDrawingOnTop`   to ensure that drawing to the screen occurs on top of existing windows.                  
      
      Without this, some window systems (such as X) only allow drawing to take place underneath other windows. 
      
      This version of :meth:`StartDrawingOnTop`   is used to specify an area of the screen which is to be drawn on. If ``None`` is passed, the whole screen is available. It is recommended that an area of the screen is specified with this function rather than with :meth:`StartDrawingOnTop` , because with large regions, flickering effects are noticeable when destroying the temporary transparent window used to implement this feature. 
      
      You might use this function when implementing a drag feature, for example as in the :ref:`wx.SplitterWindow`  implementation. 
      
                      
      
      
      :param `rect`: 
      :type `rect`: wx.Rect
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      .. note:: 
      
         This function is probably obsolete since the X implementations allow drawing directly on the screen now. However, the fact that this function allows the screen to be refreshed afterwards, may be useful to some applications.   
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`





