00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _CEGUIImagesetManager_h_
00031 #define _CEGUIImagesetManager_h_
00032
00033 #include "CEGUIBase.h"
00034 #include "CEGUIString.h"
00035 #include "CEGUISingleton.h"
00036 #include "CEGUIIteratorBase.h"
00037 #include <map>
00038
00039
00040 #if defined(_MSC_VER)
00041 # pragma warning(push)
00042 # pragma warning(disable : 4275)
00043 # pragma warning(disable : 4251)
00044 #endif
00045
00046
00047
00048 namespace CEGUI
00049 {
00058 class CEGUIEXPORT ImagesetManager : public Singleton<ImagesetManager>
00059 {
00060 public:
00065 ImagesetManager(void);
00066
00067
00072 ~ImagesetManager(void);
00073
00074
00092 Imageset* createImageset(const String& name, Texture* texture);
00093
00111 Imageset* createImageset(const String& filename, const String& resourceGroup = "");
00112
00113
00134 Imageset* createImagesetFromImageFile(const String& name, const String& filename, const String& resourceGroup = "");
00135
00136
00147 void destroyImageset(const String& name);
00148
00159 void destroyImageset(Imageset* imageset);
00160
00161
00169 void destroyAllImagesets(void);
00170
00171
00184 Imageset* getImageset(const String& name) const;
00185
00186
00197 bool isImagesetPresent(const String& name) const {return d_imagesets.find(name) != d_imagesets.end();}
00198
00199
00210 void notifyScreenResolution(const Size& size);
00211
00212
00226 void writeImagesetToStream(const String& imageset, OutStream& out_stream) const;
00227
00228
00229 private:
00230
00231
00232
00233 typedef std::map<String, Imageset*, String::FastLessCompare> ImagesetRegistry;
00234 ImagesetRegistry d_imagesets;
00235
00236 public:
00237
00238
00239
00240 typedef ConstBaseIterator<ImagesetRegistry> ImagesetIterator;
00241
00246 ImagesetIterator getIterator(void) const;
00247 };
00248
00249 }
00250
00251 #if defined(_MSC_VER)
00252 # pragma warning(pop)
00253 #endif
00254
00255 #endif // end of guard _CEGUIImageSetManager_h_