1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/generic/icon.h
3 // Purpose:     wxIcon implementation for ports where it's same as wxBitmap
4 // Author:      Julian Smart
5 // Modified by:
6 // Created:     17/09/98
7 // RCS-ID:      $Id: icon.h 42752 2006-10-30 19:26:48Z VZ $
8 // Copyright:   (c) Julian Smart
9 // Licence:     wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_GENERIC_ICON_H_
13 #define _WX_GENERIC_ICON_H_
14 
15 #include "wx/bitmap.h"
16 
17 //-----------------------------------------------------------------------------
18 // wxIcon
19 //-----------------------------------------------------------------------------
20 
21 #ifndef wxICON_DEFAULT_BITMAP_TYPE
22 #define wxICON_DEFAULT_BITMAP_TYPE wxBITMAP_TYPE_XPM
23 #endif
24 
25 class WXDLLIMPEXP_CORE wxIcon: public wxBitmap
26 {
27 public:
28     wxIcon();
29 
30     wxIcon( const char **bits, int width=-1, int height=-1 );
31     wxIcon( char **bits, int width=-1, int height=-1 );
32 
33     // For compatibility with wxMSW where desired size is sometimes required to
34     // distinguish between multiple icons in a resource.
35     wxIcon( const wxString& filename,
36             wxBitmapType type = wxICON_DEFAULT_BITMAP_TYPE,
37             int WXUNUSED(desiredWidth)=-1, int WXUNUSED(desiredHeight)=-1 ) :
wxBitmap(filename,type)38         wxBitmap(filename, type)
39     {
40     }
41 
wxIcon(const wxIconLocation & loc)42     wxIcon(const wxIconLocation& loc)
43         : wxBitmap(loc.GetFileName(), wxBITMAP_TYPE_ANY)
44     {
45     }
46 
47     // create from bitmap (which should have a mask unless it's monochrome):
48     // there shouldn't be any implicit bitmap -> icon conversion (i.e. no
49     // ctors, assignment operators...), but it's ok to have such function
50     void CopyFromBitmap(const wxBitmap& bmp);
51 
52 private:
53     DECLARE_DYNAMIC_CLASS(wxIcon)
54 };
55 
56 #endif // _WX_GENERIC_ICON_H_
57