.. 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.NonOwnedWindow:

==========================================================================================================================================
|phoenix_title|  **wx.NonOwnedWindow**
==========================================================================================================================================

Common base class for all non-child windows.          

This is the common base class of :ref:`wx.TopLevelWindow`  and :ref:`wx.PopupWindow`  and is not used directly. 

Currently the only additional functionality it provides, compared to base :ref:`wx.Window`  class, is the ability to set the window shape. 

         



.. versionadded:: 2.9.3 
     







|

|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>NonOwnedWindow</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.NonOwnedWindow_inheritance.png" alt="Inheritance diagram of NonOwnedWindow" 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.NonOwnedWindow.html" title="wx.NonOwnedWindow" alt="" coords="25,237,193,267"/> <area shape="rect" id="node2" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node3" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node4" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node5" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.PopupWindow`, :ref:`wx.TopLevelWindow`

|


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

================================================================================ ================================================================================
:meth:`~wx.NonOwnedWindow.SetShape`                                              If the platform supports it, sets the shape of the window to that depicted by `region`.
================================================================================ ================================================================================


|


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


.. class:: wx.NonOwnedWindow(Window)

   Common base class for all non-child windows.



   .. method:: SetShape(self, *args, **kw)



      |overload| Overloaded Implementations:

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

      
      **SetShape** `(self, region)`
      
      If the platform supports it, sets the shape of the window to that depicted by `region`.                  
      
      The system will not display or respond to any mouse event for the pixels that lie outside of the region. To reset the window to the normal rectangular shape simply call :meth:`SetShape`   again with an empty :ref:`wx.Region`. Returns ``True`` if the operation is successful. 
      
      This method is available in this class only since wxWidgets 2.9.3, previous versions only provided it in :ref:`wx.TopLevelWindow`. 
      
      Note that windows with non default shape have a fixed size and can't be resized using :meth:`SetSize` .                  
      
      
      :param `region`: 
      :type `region`: wx.Region
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **SetShape** `(self, path)`
      
      Set the window shape to the given path.                  
      
      Set the window shape to the interior of the given path and also draw the window border along the specified path. 
      
      For example, to make a clock-like circular window you could use ::
      
                      size = self.GetSize()
      
                      path = wx.GraphicsRenderer.GetDefaultRenderer().CreatePath()
                      path.AddCircle(size.x/2, size.y/2, 30)
      
                      self.SetShape(path)
      
      
      
      Note that windows with non default shape have a fixed size and can't be resized using :meth:`SetSize` . 
      
      As the overload above, this method is not guaranteed to work on all platforms but currently does work in wxMSW, OSX/Cocoa and wxGTK (with the appropriate but almost always present X11 extensions) ports. 
      
                      
      
      
      :param `path`: 
      :type `path`: wx.GraphicsPath
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      .. versionadded:: 2.9.3 
           
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`





