X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..9513c5b609740c15322f2284e5e8b9609eeaa069:/include/wx/generic/imaglist.h diff --git a/include/wx/generic/imaglist.h b/include/wx/generic/imaglist.h index 390a498328..72c4f68694 100644 --- a/include/wx/generic/imaglist.h +++ b/include/wx/generic/imaglist.h @@ -4,21 +4,23 @@ // Author: Robert Roebling // Created: 01/02/97 // Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Copyright: (c) 1998 Robert Roebling and Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __IMAGELISTH_G__ #define __IMAGELISTH_G__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "imaglist.h" #endif #include "wx/defs.h" -#include "wx/gdicmn.h" -#include "wx/bitmap.h" -#include "wx/dc.h" +#include "wx/list.h" + +class WXDLLEXPORT wxDC; +class WXDLLEXPORT wxBitmap; +class WXDLLEXPORT wxColour; /* * wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to @@ -34,6 +36,8 @@ * used. */ +#if !defined(wxIMAGELIST_DRAW_NORMAL) + // Flags for Draw #define wxIMAGELIST_DRAW_NORMAL 0x0001 #define wxIMAGELIST_DRAW_TRANSPARENT 0x0002 @@ -47,17 +51,19 @@ enum { wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation) }; -class wxImageList: public wxObject +#endif + +class WXDLLEXPORT wxGenericImageList: public wxObject { public: - wxImageList() { } - wxImageList( int width, int height, bool mask = TRUE, int initialCount = 1 ); - ~wxImageList(); + wxGenericImageList() { m_width = m_height = 0; } + wxGenericImageList( int width, int height, bool mask = TRUE, int initialCount = 1 ); + ~wxGenericImageList(); bool Create( int width, int height, bool mask = TRUE, int initialCount = 1 ); bool Create(); - int GetImageCount() const; - bool GetSize( int index, int &width, int &height ) const; + virtual int GetImageCount() const; + virtual bool GetSize( int index, int &width, int &height ) const; int Add( const wxBitmap& bitmap ); int Add( const wxBitmap& bitmap, const wxBitmap& mask ); @@ -67,7 +73,7 @@ public: bool Remove( int index ); bool RemoveAll(); - bool Draw(int index, wxDC& dc, int x, int y, + virtual bool Draw(int index, wxDC& dc, int x, int y, int flags = wxIMAGELIST_DRAW_NORMAL, bool solidBackground = FALSE); @@ -77,8 +83,28 @@ private: int m_width; int m_height; + DECLARE_DYNAMIC_CLASS(wxGenericImageList) +}; + +#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__) +/* + * wxImageList has to be a real class or we have problems with + * the run-time information. + */ + +class WXDLLEXPORT wxImageList: public wxGenericImageList +{ DECLARE_DYNAMIC_CLASS(wxImageList) + +public: + wxImageList() {} + + wxImageList( int width, int height, bool mask = TRUE, int initialCount = 1 ) + : wxGenericImageList(width, height, mask, initialCount) + { + } }; +#endif // !__WXMSW__ || __WIN16__ || __WXUNIVERSAL__ #endif // __IMAGELISTH_G__