wxWidgets/interface/wx/nonownedwnd.h
Vadim Zeitlin e520c3f75c Added wxRichToolTip class.
It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).

Extra features include:
 - The balloon-like tooltip form.
 - Possibility to show an icon.
 - Title display in a different form.

More customization could be added later. It should be also possible to fully
implement this class natively under MSW.

Update the dialogs sample to show the rich tooltips in action.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:57:02 +00:00

60 lines
2.2 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: interface/wx/nonownedwnd.h
// Purpose: wxNonOwnedWindow class documentation
// Author: Vadim Zeitlin
// Created: 2011-10-09
// RCS-ID: $Id$
// Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
/**
Common base class for all non-child windows.
This is the common base class of wxTopLevelWindow and wxPopupWindow and is
not used directly.
Currently the only additional functionality it provides, compared to base
wxWindow class, is the ability to set the window shape.
@since 2.9.3
*/
class wxNonOwnedWindow : public wxWindow
{
public:
/**
If the platform supports it, sets the shape of the window to that
depicted by @a 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 wxRegion. 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 wxTopLevelWindow.
*/
bool SetShape(const wxRegion& region);
/**
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
@code
wxSize size = GetSize();
wxGraphicsPath
path = wxGraphicsRenderer::GetDefaultRenderer()->CreatePath();
path.AddCircle(size.x/2, size.y/2, 30);
SetShape(path);
@endcode
As the overload above, this method is not guaranteed to work on all
platforms but currently does work in wxMSW, wxOSX/Cocoa and wxGTK (with
the appropriate but almost always present X11 extensions) ports.
@since 2.9.3
*/
bool SetShape(const wxGraphicsPath& path);
};