1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/imaglist.h
3 // Purpose:     wxImageList base header
4 // Author:      Julian Smart
5 // Modified by:
6 // Created:
7 // Copyright:   (c) Julian Smart
8 // RCS-ID:      $Id: imaglist.h 41288 2006-09-18 23:06:35Z VZ $
9 // Licence:     wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_IMAGLIST_H_BASE_
13 #define _WX_IMAGLIST_H_BASE_
14 
15 /*
16  * wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to
17  * images for their items by an index into an image list.
18  * A wxImageList is capable of creating images with optional masks from
19  * a variety of sources - a single bitmap plus a colour to indicate the mask,
20  * two bitmaps, or an icon.
21  *
22  * Image lists can also create and draw images used for drag and drop functionality.
23  * This is not yet implemented in wxImageList. We need to discuss a generic API
24  * for doing drag and drop and see whether it ties in with the Win95 view of it.
25  * See below for candidate functions and an explanation of how they might be
26  * used.
27  */
28 
29 // Flag values for Set/GetImageList
30 enum
31 {
32     wxIMAGE_LIST_NORMAL, // Normal icons
33     wxIMAGE_LIST_SMALL,  // Small icons
34     wxIMAGE_LIST_STATE   // State icons: unimplemented (see WIN32 documentation)
35 };
36 
37 // Flags for Draw
38 #define wxIMAGELIST_DRAW_NORMAL         0x0001
39 #define wxIMAGELIST_DRAW_TRANSPARENT    0x0002
40 #define wxIMAGELIST_DRAW_SELECTED       0x0004
41 #define wxIMAGELIST_DRAW_FOCUSED        0x0008
42 
43 #if defined(__WXMSW__) || defined(__WXMAC_CARBON__)
44     #define wxHAS_NATIVE_IMAGELIST
45 #endif
46 
47 #if !defined(wxHAS_NATIVE_IMAGELIST)
48     #include "wx/generic/imaglist.h"
49 #elif defined(__WXMSW__)
50     #include "wx/msw/imaglist.h"
51 #elif defined(__WXMAC_CARBON__)
52     #include "wx/mac/imaglist.h"
53 #endif
54 
55 #endif // _WX_IMAGLIST_H_BASE_
56