1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/motif/icon.h
3// Purpose:     wxIcon class
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_ICON_H_
13#define _WX_ICON_H_
14
15#include "wx/bitmap.h"
16
17// Icon
18class WXDLLEXPORT wxIcon : public wxBitmap
19{
20public:
21    wxIcon();
22
23    // Initialize with XBM data
24    wxIcon(const char bits[], int width, int height);
25
26    // Initialize with XPM data
27    wxIcon(const char **data);
28    wxIcon(char **data);
29
30    wxIcon(const wxString& name, wxBitmapType type = wxBITMAP_TYPE_XPM,
31           int desiredWidth = -1, int desiredHeight = -1)
32    {
33        LoadFile(name, type, desiredWidth, desiredHeight);
34    }
35
36    wxIcon(const wxIconLocation& loc)
37    {
38        LoadFile(loc.GetFileName(), wxBITMAP_TYPE_ANY);
39    }
40
41    virtual ~wxIcon();
42
43    bool LoadFile(const wxString& name, wxBitmapType type,
44                  int desiredWidth, int desiredHeight = -1);
45
46    // unhide base class LoadFile()
47    virtual bool LoadFile(const wxString& name,
48                          wxBitmapType type = wxBITMAP_TYPE_XPM)
49    {
50        return LoadFile(name, type, -1, -1);
51    }
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
59    DECLARE_DYNAMIC_CLASS(wxIcon)
60};
61
62#endif // _WX_ICON_H_
63