MyGUI  3.2.1
MyGUI_SubSkin.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_SUB_SKIN_H__
8 #define __MYGUI_SUB_SKIN_H__
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Types.h"
12 #include "MyGUI_XmlDocument.h"
13 #include "MyGUI_ISubWidgetRect.h"
14 #include "MyGUI_ResourceSkin.h"
15 #include "MyGUI_RenderFormat.h"
16 #include "MyGUI_IStateInfo.h"
17 
18 namespace MyGUI
19 {
20 
21  class RenderItem;
22 
24  public ISubWidgetRect
25  {
27 
28  public:
29  SubSkin();
30  virtual ~SubSkin();
31 
32  virtual void setAlpha(float _alpha);
33 
34  virtual void setVisible(bool _visible);
35 
36  virtual void setStateData(IStateInfo* _data);
37 
38  virtual void createDrawItem(ITexture* _texture, ILayerNode* _node);
39  virtual void destroyDrawItem();
40 
41  // метод для отрисовки себя
42  virtual void doRender();
43 
44  /*internal:*/
45  virtual void _updateView();
46  virtual void _correctView();
47 
48  virtual void _setAlign(const IntSize& _oldsize);
49 
50  virtual void _setUVSet(const FloatRect& _rect);
51  virtual void _setColour(const Colour& _value);
52 
53  protected:
54  FloatRect mRectTexture;
55  bool mEmptyView;
56 
57  VertexColourType mVertexFormat;
58  uint32 mCurrentColour;
59 
60  FloatRect mCurrentTexture;
61  IntCoord mCurrentCoord;
62 
63  ILayerNode* mNode;
64  RenderItem* mRenderItem;
65 
66  bool mSeparate;
67  };
68 
69 } // namespace MyGUI
70 
71 #endif // __MYGUI_SUB_SKIN_H__