Phoenix Logo

phoenix_title wx.NonOwnedWindow

Common base class for all non-child windows.

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

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

New in version 2.9.3.


class_hierarchy Class Hierarchy

Inheritance diagram for class NonOwnedWindow:

method_summary Methods Summary

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.


Methods



SetShape(self, *args, **kw)

overload Overloaded Implementations:



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 SetShape again with an empty 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 wx.TopLevelWindow.

Parameters:region (wx.Region) –
Return type:bool



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)

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.

Parameters:path (wx.GraphicsPath) –
Return type:bool

New in version 2.9.3.