X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3cd94a0d119ade811cd876a309cfe6d28b5c36dd..c29e714c378d7e3164d71e2c306d990802fe678b:/include/wx/generic/imaglist.h diff --git a/include/wx/generic/imaglist.h b/include/wx/generic/imaglist.h index a953bad4e4..4d42a170d1 100644 --- a/include/wx/generic/imaglist.h +++ b/include/wx/generic/imaglist.h @@ -4,60 +4,29 @@ // 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__ -#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" +#include "wx/icon.h" -/* - * 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. - */ +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLIMPEXP_FWD_CORE wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxColour; -#if !defined(wxIMAGELIST_DRAW_NORMAL) -// 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() { } - wxGenericImageList( int width, int height, bool mask = TRUE, int initialCount = 1 ); - ~wxGenericImageList(); - bool Create( int width, int height, bool mask = TRUE, int initialCount = 1 ); + wxGenericImageList() { m_width = m_height = 0; } + wxGenericImageList( int width, int height, bool mask = true, int initialCount = 1 ); + virtual ~wxGenericImageList(); + bool Create( int width, int height, bool mask = true, int initialCount = 1 ); bool Create(); virtual int GetImageCount() const; @@ -66,15 +35,19 @@ public: int Add( const wxBitmap& bitmap ); int Add( const wxBitmap& bitmap, const wxBitmap& mask ); int Add( const wxBitmap& bitmap, const wxColour& maskColour ); - const wxBitmap *GetBitmap(int index) const; + 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(); virtual bool Draw(int index, wxDC& dc, int x, int y, int flags = wxIMAGELIST_DRAW_NORMAL, - bool solidBackground = FALSE); + bool solidBackground = false); + // Internal use only + const wxBitmap *GetBitmapPtr(int index) const; private: wxList m_images; @@ -84,5 +57,26 @@ private: DECLARE_DYNAMIC_CLASS(wxGenericImageList) }; +#ifndef wxHAS_NATIVE_IMAGELIST + +/* + * wxImageList has to be a real class or we have problems with + * the run-time information. + */ + +class WXDLLIMPEXP_CORE 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 // !wxHAS_NATIVE_IMAGELIST + #endif // __IMAGELISTH_G__