MyGUI  3.2.1
MyGUI_ResourceImageSet.h
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef __MYGUI_RESOURCE_IMAGE_SET_H__
8 #define __MYGUI_RESOURCE_IMAGE_SET_H__
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Macros.h"
12 #include "MyGUI_XmlDocument.h"
13 #include "MyGUI_IResource.h"
14 #include "MyGUI_ImageInfo.h"
15 #include "MyGUI_Enumerator.h"
16 #include "MyGUI_ResourceManager.h"
17 #include "MyGUI_GenericFactory.h"
19 
20 namespace MyGUI
21 {
22 
25 
27  public IResource
28  {
30 
32 
33  public:
34  ImageIndexInfo getIndexInfo(const std::string& _group, const std::string& _index);
35  ImageIndexInfo getIndexInfo(size_t _group, const std::string& _index);
36  ImageIndexInfo getIndexInfo(const std::string& _group, size_t _index);
37  ImageIndexInfo getIndexInfo(size_t _group, size_t _index);
38  ImageIndexInfo getIndexInfo(const IntSize& _group, size_t _index);
39  ImageIndexInfo getIndexInfo(const IntSize& _group, const std::string& _index);
40 
42  EnumeratorGroupImage getEnumerator() const;
43 
44  void AddGroupImage(const GroupImage& _group);
45 
46  private:
48  virtual ~ResourceImageSet();
49 
50  virtual void deserialization(xml::ElementPtr _node, Version _version);
51 
52  size_t getGroupIndex(const std::string& _name);
53  size_t getGroupIndex(const IntSize& _size);
54  size_t getImageIndex(GroupImage& _group, const std::string& _name);
55  const IntSize& getGroupSize(size_t _index);
56  const IntSize& getGroupSize(const std::string& _group);
57 
58  private:
59  VectorGroupImage mGroups;
60 
61  static std::vector<IntPoint> mFramesEmpty;
62  };
63 
64 } // namespace MyGUI
65 
66 #endif // __MYGUI_RESOURCE_IMAGE_SET_H__