// Name: icon.h
// Purpose: interface of wxIcon
// Author: wxWidgets team
-// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@see @ref overview_bitmap, @ref overview_bitmap_supportedformats,
wxDC::DrawIcon, wxCursor
*/
-class wxIcon : public wxBitmap
+class wxIcon : public wxGDIObject
{
public:
/**
@param height
The height of the image.
+ @beginWxPerlOnly
+ In wxPerl use Wx::Icon->newBits(bits, width, height, depth = -1);
+ @endWxPerlOnly
+
@onlyfor{wxmsw,wxosx}
*/
wxIcon(const char bits[], int width, int height);
the appropriate platform, or an icon resource on Windows.
@code
- wxIcon icon(wxICON(mondrian));
+ wxIcon icon(wxICON(sample));
// Equivalent to:
#if defined(__WXGTK__) || defined(__WXMOTIF__)
- wxIcon icon(mondrian_xpm);
+ wxIcon icon(sample_xpm);
#endif
#if defined(__WXMSW__)
- wxIcon icon("mondrian");
+ wxIcon icon("sample");
#endif
@endcode
+
+ @beginWxPerlOnly
+ In wxPerl use Wx::Icon->newFromXPM(data).
+ @endWxPerlOnly
*/
wxIcon(const char* const* bits);
*/
virtual ~wxIcon();
+ /**
+ Attach a Windows icon handle.
+
+ This wxMSW-specific method allows to assign a native Windows @c HICON
+ (which must be castes to @c WXHICON opaque handle type) to wxIcon.
+ Notice that this means that the @c HICON will be destroyed by wxIcon
+ when it is destroyed.
+
+ @return @true if successful.
+
+ @onlyfor{wxmsw}
+
+ @since 2.9.5
+ */
+ bool CreateFromHICON(WXHICON icon);
+
+ /**
+ Returns disabled (dimmed) version of the icon.
+
+ This method is available in wxIcon only under wxMSW, other ports only
+ have it in wxBitmap. You can always use wxImage::ConvertToDisabled()
+ and create the icon from wxImage manually however.
+
+ @onlyfor{wxmsw}
+
+ @since 2.9.0
+ */
+ wxIcon ConvertToDisabled(unsigned char brightness = 255) const;
+
/**
Copies @a bmp bitmap to this icon.
Under MS Windows the bitmap must have mask colour set.