00001
00035 #ifndef INC_MGUI_IMAGELST_H
00036 #define INC_MGUI_IMAGELST_H
00037
00038 #ifndef INC_MI32_COLOR_H
00039 #include <mi32/color.h>
00040 #endif
00041
00042 #ifndef INC_MI32_ICONID_H
00043 #include <mi32/iconid.h>
00044 #endif
00045
00046 #ifndef INC_MI32_SIMPLEAR_H
00047 #include <mi32/simplear.h>
00048 #endif
00049
00050 #ifndef GENERATING_DOXYGEN_OUTPUT
00051 struct COLOR;
00052 struct MICONSTRUCT;
00053 #endif
00054
00055 namespace MGUI {
00056
00058 class IMAGELIST {
00059 public:
00060
00062 IMAGELIST (
00063 );
00064
00066 explicit IMAGELIST (
00067 const COLOR& bgcolor
00068 );
00069
00070
00071 IMAGELIST (
00072 const IMAGELIST& rhs
00073 );
00074
00076 ~IMAGELIST ();
00077
00078
00079 IMAGELIST& operator= (
00080 const IMAGELIST& rhs
00081 );
00082
00085 int AddIcon (
00086 ICONID id,
00087 int size = 16
00088 );
00089
00092 int AddIcon (
00093 ICONID id,
00094 const COLOR& bgcolor,
00095 int size = 16
00096 );
00097
00100 const MICONSTRUCT *FindIcon (
00101 ICONID iconid
00102 ) const;
00103
00106 MICONSTRUCT *GetIcon (
00107 int index
00108 ) const;
00109
00110 private:
00111 #ifndef GENERATING_DOXYGEN_OUTPUT
00112
00113 SIMPLE_ARRAY<MICONSTRUCT*> m_Icons;
00114 COLOR m_bgcolor;
00115
00116 void AddRef ();
00117 void Free ();
00118 #endif // GENERATING_DOXYGEN_OUTPUT
00119 };
00120
00121 }
00122
00123
00124 #endif // INC_MGUI_IMAGELST_H