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 // Copyright:   (c) Julian Smart
8 // Licence:     wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10 
11 #ifndef _WX_GENERIC_ICON_H_
12 #define _WX_GENERIC_ICON_H_
13 
14 #include "wx/bitmap.h"
15 
16 //-----------------------------------------------------------------------------
17 // wxIcon
18 //-----------------------------------------------------------------------------
19 
20 class WXDLLIMPEXP_CORE wxIcon: public wxBitmap
21 {
22 public:
23     wxIcon();
24 
25     wxIcon(const char* const* bits);
26 #ifdef wxNEEDS_CHARPP
27     wxIcon(char **bits);
28 #endif
29 
30     // For compatibility with wxMSW where desired size is sometimes required to
31     // distinguish between multiple icons in a resource.
32     wxIcon( const wxString& filename,
33             wxBitmapType type = wxICON_DEFAULT_TYPE,
34             int WXUNUSED(desiredWidth)=-1, int WXUNUSED(desiredHeight)=-1 ) :
wxBitmap(filename,type)35         wxBitmap(filename, type)
36     {
37     }
38 
wxIcon(const wxIconLocation & loc)39     wxIcon(const wxIconLocation& loc)
40         : wxBitmap(loc.GetFileName(), wxBITMAP_TYPE_ANY)
41     {
42     }
43 
LoadFile(const wxString & name,wxBitmapType flags,int WXUNUSED (desiredWidth),int WXUNUSED (desiredHeight))44     bool LoadFile(const wxString& name, wxBitmapType flags,
45                   int WXUNUSED(desiredWidth), int WXUNUSED(desiredHeight))
46         { return wxBitmap::LoadFile(name, flags); }
47 
48     // unhide the base class version
49     virtual bool LoadFile(const wxString& name,
50                           wxBitmapType flags = wxICON_DEFAULT_TYPE)
51         { return wxBitmap::LoadFile(name, flags); }
52 
53     // create from bitmap (which should have a mask unless it's monochrome):
54     // there shouldn't be any implicit bitmap -> icon conversion (i.e. no
55     // ctors, assignment operators...), but it's ok to have such function
56     void CopyFromBitmap(const wxBitmap& bmp);
57 
58 private:
59     DECLARE_DYNAMIC_CLASS(wxIcon)
60 };
61 
62 #endif // _WX_GENERIC_ICON_H_
63