MyGUI  3.0.1
MyGUI_ISubWidget.h
Go to the documentation of this file.
1 
7 /*
8  This file is part of MyGUI.
9 
10  MyGUI is free software: you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  MyGUI is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
22 */
23 #ifndef __MYGUI_I_SUB_WIDGET_H__
24 #define __MYGUI_I_SUB_WIDGET_H__
25 
26 #include "MyGUI_Prerequest.h"
28 #include "MyGUI_ILayerNode.h"
29 #include "MyGUI_Types.h"
30 #include "MyGUI_IRenderTarget.h"
31 #include "MyGUI_IStateInfo.h"
32 #include "MyGUI_IObject.h"
33 
34 namespace MyGUI
35 {
36 
37  class ISubWidget;
38  typedef std::vector<ISubWidget*> VectorSubWidget;
39 
41  public ICroppedRectangle,
42  public IObject
43  {
45 
46  public:
47  virtual ~ISubWidget() { }
48 
49  virtual void createDrawItem(ITexture* _texture, ILayerNode* _node) = 0;
50  virtual void destroyDrawItem() = 0;
51 
52  virtual void setAlpha(float _alpha) { }
53 
54  virtual void setStateData(IStateInfo* _data) { }
55 
56  virtual void doRender() = 0;
57 
58  };
59 
60 } // namespace MyGUI
61 
62 #endif // __MYGUI_I_SUB_WIDGET_H__