MyGUI 3.4.1
MyGUI_ImageBox.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_IMAGE_BOX_H_
8#define MYGUI_IMAGE_BOX_H_
9
10#include "MyGUI_Prerequest.h"
11#include "MyGUI_Widget.h"
13#include "MyGUI_ImageInfo.h"
14
15namespace MyGUI
16{
17
22 public Widget,
23 public MemberObsolete<ImageBox>
24 {
26
27 public:
28 ImageBox();
29
30 //------------------------------------------------------------------------------//
31 // The simple interface
32 //------------------------------------------------------------------------------//
33
34 /* Set texture and size of image _tile
35 @param _texture file name or texture name
36 @param _coord - part of texture where we take tiles
37 @param _tile size
38 */
39 void setImageInfo(const std::string& _texture, const IntCoord& _coord, const IntSize& _tile);
40
41 /* Set texture
42 @param _texture file name or texture name
43 */
44 void setImageTexture(const std::string& _value);
45
47 void setImageRect(const IntRect& _value);
48
50 void setImageCoord(const IntCoord& _value);
51
53 void setImageTile(const IntSize& _value);
54
67 void setImageIndex(size_t _index);
69 size_t getImageIndex() const;
70
72 IntSize getImageSize() const;
73
74 //------------------------------------------------------------------------------//
75 // The expanded interface
76 //------------------------------------------------------------------------------//
77
79 size_t getItemCount() const;
80
82 void setItemSelect(size_t _index);
84 size_t getItemSelect() const;
86 void resetItemSelect();
87
89 void insertItem(size_t _index, const IntCoord& _item);
91 void addItem(const IntCoord& _item);
93 void setItem(size_t _index, const IntCoord& _item);
94
96 void deleteItem(size_t _index);
98 void deleteAllItems();
99
100 // работа с фреймами анимированных индексов
105 void addItemFrame(size_t _index, const IntCoord& _item);
106
112 void insertItemFrame(size_t _index, size_t _indexFrame, const IntCoord& _item);
113
118 void addItemFrameDuplicate(size_t _index, size_t _indexSourceFrame);
119
125 void insertItemFrameDuplicate(size_t _index, size_t _indexFrame, size_t _indexSourceFrame);
126
132 void setItemFrame(size_t _index, size_t _indexFrame, const IntCoord& _item);
133
138 void deleteItemFrame(size_t _index, size_t _indexFrame);
139
143 void deleteAllItemFrames(size_t _index);
144
149 void setItemFrameRate(size_t _index, float _rate);
150
154 float getItemFrameRate(size_t _index) const;
155
156 //------------------------------------------------------------------------------//
157 // The interface with support of resources
158 //------------------------------------------------------------------------------//
159
164 bool setItemResource(const std::string& _name);
165
167 void setItemGroup(const std::string& _value);
169 void setItemName(const std::string& _value);
170
174 void setItemResourcePtr(ResourceImageSetPtr _resource);
176 void setItemResourceInfo(const ImageIndexInfo& _info);
177
179 ResourceImageSetPtr getItemResource() const;
181 void setItemResourceInfo(ResourceImageSetPtr _resource, const std::string& _group, const std::string& _name);
182
183 protected:
184 void shutdownOverride() override;
185
186 void setPropertyOverride(const std::string& _key, const std::string& _value) override;
187
188 private:
189 void frameEntered(float _frame);
190
191 void recalcIndexes();
192 void updateSelectIndex(size_t _index);
193
194 void frameAdvise(bool _advise);
195
196 void _setUVSet(const FloatRect& _rect);
197
198 private:
199 // кусок в текстуре наших картинок
200 IntRect mRectImage;
201 // размер одной картинки
202 IntSize mSizeTile;
203 // размер текстуры
204 IntSize mSizeTexture;
205 // текущая картинка
206 size_t mIndexSelect;
207
208 VectorImages mItems;
209
210 bool mFrameAdvise;
211 float mCurrentTime;
212 size_t mCurrentFrame;
213
214 ResourceImageSetPtr mResource;
215 std::string mItemName;
216 std::string mItemGroup;
217 std::string mCurrentTextureName;
218 };
219
220} // namespace MyGUI
221
222#endif // MYGUI_IMAGE_BOX_H_
#define MYGUI_EXPORT
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition: MyGUI_RTTI.h:48
widget description should be here.
widget description should be here.
Definition: MyGUI_Widget.h:37
std::vector< ImageItem > VectorImages