X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f45fac95d6067ed7d08b890b98e9bc6033bbb05e..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/generic/imaglist.h diff --git a/include/wx/generic/imaglist.h b/include/wx/generic/imaglist.h index 3717de96b0..1c18dfc9a2 100644 --- a/include/wx/generic/imaglist.h +++ b/include/wx/generic/imaglist.h @@ -11,55 +11,21 @@ #ifndef __IMAGELISTH_G__ #define __IMAGELISTH_G__ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "imaglist.h" -#endif - #include "wx/defs.h" #include "wx/list.h" #include "wx/icon.h" -class WXDLLEXPORT wxDC; -class WXDLLEXPORT wxBitmap; -class WXDLLEXPORT wxColour; - -/* - * wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to - * images for their items by an index into an image list. - * A wxImageList is capable of creating images with optional masks from - * a variety of sources - a single bitmap plus a colour to indicate the mask, - * two bitmaps, or an icon. - * - * Image lists can also create and draw images used for drag and drop functionality. - * This is not yet implemented in wxImageList. We need to discuss a generic API - * for doing drag and drop and see whether it ties in with the Win95 view of it. - * See below for candidate functions and an explanation of how they might be - * used. - */ - -#if !defined(wxIMAGELIST_DRAW_NORMAL) +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLIMPEXP_FWD_CORE wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxColour; -// Flags for Draw -#define wxIMAGELIST_DRAW_NORMAL 0x0001 -#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002 -#define wxIMAGELIST_DRAW_SELECTED 0x0004 -#define wxIMAGELIST_DRAW_FOCUSED 0x0008 -// Flag values for Set/GetImageList -enum { - wxIMAGE_LIST_NORMAL, // Normal icons - wxIMAGE_LIST_SMALL, // Small icons - wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation) -}; - -#endif - -class WXDLLEXPORT wxGenericImageList: public wxObject +class WXDLLIMPEXP_CORE wxGenericImageList: public wxObject { public: wxGenericImageList() { m_width = m_height = 0; } wxGenericImageList( int width, int height, bool mask = true, int initialCount = 1 ); - ~wxGenericImageList(); + virtual ~wxGenericImageList(); bool Create( int width, int height, bool mask = true, int initialCount = 1 ); bool Create(); @@ -72,6 +38,7 @@ public: wxBitmap GetBitmap(int index) const; wxIcon GetIcon(int index) const; bool Replace( int index, const wxBitmap &bitmap ); + bool Replace( int index, const wxBitmap &bitmap, const wxBitmap& mask ); bool Remove( int index ); bool RemoveAll(); @@ -82,21 +49,22 @@ public: // Internal use only const wxBitmap *GetBitmapPtr(int index) const; private: - wxList m_images; + wxObjectList m_images; int m_width; int m_height; - DECLARE_DYNAMIC_CLASS(wxGenericImageList) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxGenericImageList) }; -#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__) +#ifndef wxHAS_NATIVE_IMAGELIST + /* * wxImageList has to be a real class or we have problems with * the run-time information. */ -class WXDLLEXPORT wxImageList: public wxGenericImageList +class WXDLLIMPEXP_CORE wxImageList: public wxGenericImageList { DECLARE_DYNAMIC_CLASS(wxImageList) @@ -108,7 +76,7 @@ public: { } }; -#endif // !__WXMSW__ || __WXUNIVERSAL__ +#endif // !wxHAS_NATIVE_IMAGELIST #endif // __IMAGELISTH_G__