]> git.saurik.com Git - wxWidgets.git/blob - include/wx/generic/imaglist.h
Make wxImageList not copiable (fixes #10503), replace wxList with wxObjectList
[wxWidgets.git] / include / wx / generic / imaglist.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/imaglist.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Created: 01/02/97
6 // Id:
7 // Copyright: (c) 1998 Robert Roebling and Julian Smart
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef __IMAGELISTH_G__
12 #define __IMAGELISTH_G__
13
14 #include "wx/defs.h"
15 #include "wx/list.h"
16 #include "wx/icon.h"
17
18 class WXDLLIMPEXP_FWD_CORE wxDC;
19 class WXDLLIMPEXP_FWD_CORE wxBitmap;
20 class WXDLLIMPEXP_FWD_CORE wxColour;
21
22
23 class WXDLLIMPEXP_CORE wxGenericImageList: public wxObject
24 {
25 public:
26 wxGenericImageList() { m_width = m_height = 0; }
27 wxGenericImageList( int width, int height, bool mask = true, int initialCount = 1 );
28 virtual ~wxGenericImageList();
29 bool Create( int width, int height, bool mask = true, int initialCount = 1 );
30 bool Create();
31
32 virtual int GetImageCount() const;
33 virtual bool GetSize( int index, int &width, int &height ) const;
34
35 int Add( const wxBitmap& bitmap );
36 int Add( const wxBitmap& bitmap, const wxBitmap& mask );
37 int Add( const wxBitmap& bitmap, const wxColour& maskColour );
38 wxBitmap GetBitmap(int index) const;
39 wxIcon GetIcon(int index) const;
40 bool Replace( int index, const wxBitmap &bitmap );
41 bool Replace( int index, const wxBitmap &bitmap, const wxBitmap& mask );
42 bool Remove( int index );
43 bool RemoveAll();
44
45 virtual bool Draw(int index, wxDC& dc, int x, int y,
46 int flags = wxIMAGELIST_DRAW_NORMAL,
47 bool solidBackground = false);
48
49 // Internal use only
50 const wxBitmap *GetBitmapPtr(int index) const;
51 private:
52 wxObjectList m_images;
53
54 int m_width;
55 int m_height;
56
57 DECLARE_DYNAMIC_CLASS_NO_COPY(wxGenericImageList)
58 };
59
60 #ifndef wxHAS_NATIVE_IMAGELIST
61
62 /*
63 * wxImageList has to be a real class or we have problems with
64 * the run-time information.
65 */
66
67 class WXDLLIMPEXP_CORE wxImageList: public wxGenericImageList
68 {
69 DECLARE_DYNAMIC_CLASS(wxImageList)
70
71 public:
72 wxImageList() {}
73
74 wxImageList( int width, int height, bool mask = true, int initialCount = 1 )
75 : wxGenericImageList(width, height, mask, initialCount)
76 {
77 }
78 };
79 #endif // !wxHAS_NATIVE_IMAGELIST
80
81 #endif // __IMAGELISTH_G__
82