MyGUI  3.4.0
MyGUI_ISubWidget.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_I_SUB_WIDGET_H_
8 #define MYGUI_I_SUB_WIDGET_H_
9 
10 #include "MyGUI_Prerequest.h"
12 #include "MyGUI_ILayerNode.h"
13 #include "MyGUI_Types.h"
14 #include "MyGUI_IRenderTarget.h"
15 #include "MyGUI_IStateInfo.h"
16 #include "MyGUI_IObject.h"
17 
18 namespace MyGUI
19 {
20 
21  class ISubWidget;
22  typedef std::vector<ISubWidget*> VectorSubWidget;
23 
25  public ICroppedRectangle,
26  public IObject
27  {
29 
30  public:
31  ISubWidget() : mVisible(true) { }
32 
33  virtual void createDrawItem(ITexture* _texture, ILayerNode* _node) = 0;
34  virtual void destroyDrawItem() = 0;
35 
36  virtual void setAlpha(float _alpha) { }
37 
38  virtual void setStateData(IStateInfo* _data) { }
39 
40  virtual void doRender() = 0;
41 
42  virtual void setAlign(Align _value)
43  {
44  mAlign = _value;
45  }
46  virtual void setVisible(bool _value)
47  {
48  mVisible = _value;
49  }
50 
51  virtual void _updateView() { }
52  virtual void _correctView() { }
53 
54  virtual void _setAlign(const IntSize& _oldsize) { }
55 
56  virtual void doManualRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count) { }
57 
58  protected:
60  bool mVisible;
61  };
62 
63 } // namespace MyGUI
64 
65 #endif // MYGUI_I_SUB_WIDGET_H_
MyGUI::ISubWidget::setVisible
virtual void setVisible(bool _value)
Definition: MyGUI_ISubWidget.h:46
MyGUI::ISubWidget::destroyDrawItem
virtual void destroyDrawItem()=0
MyGUI::VectorSubWidget
std::vector< ISubWidget * > VectorSubWidget
Definition: MyGUI_ISubWidget.h:21
MyGUI::ISubWidget::doRender
virtual void doRender()=0
MyGUI_IObject.h
MyGUI::ISubWidget::setAlign
virtual void setAlign(Align _value)
Definition: MyGUI_ISubWidget.h:42
MyGUI::ILayerNode
Definition: MyGUI_ILayerNode.h:30
MyGUI::IVertexBuffer
Definition: MyGUI_IVertexBuffer.h:17
MyGUI::ISubWidget::setAlpha
virtual void setAlpha(float _alpha)
Definition: MyGUI_ISubWidget.h:36
MyGUI::Align
Definition: MyGUI_Align.h:20
MyGUI_ICroppedRectangle.h
MyGUI::ISubWidget::mVisible
bool mVisible
Definition: MyGUI_ISubWidget.h:60
MyGUI::ISubWidget::doManualRender
virtual void doManualRender(IVertexBuffer *_buffer, ITexture *_texture, size_t _count)
Definition: MyGUI_ISubWidget.h:56
MyGUI::IStateInfo
Definition: MyGUI_IStateInfo.h:18
MyGUI::ISubWidget::setStateData
virtual void setStateData(IStateInfo *_data)
Definition: MyGUI_ISubWidget.h:38
MyGUI::ISubWidget::_updateView
virtual void _updateView()
Definition: MyGUI_ISubWidget.h:51
MyGUI_Prerequest.h
MYGUI_RTTI_DERIVED
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition: MyGUI_RTTI.h:48
MyGUI_IRenderTarget.h
MyGUI::ISubWidget::ISubWidget
ISubWidget()
Definition: MyGUI_ISubWidget.h:31
MyGUI_ILayerNode.h
MyGUI::types::TSize< int >
MyGUI::ICroppedRectangle
Definition: MyGUI_ICroppedRectangle.h:17
MyGUI::IObject
Definition: MyGUI_IObject.h:17
MyGUI::ISubWidget::mAlign
Align mAlign
Definition: MyGUI_ISubWidget.h:59
MyGUI::ITexture
Definition: MyGUI_ITexture.h:28
MyGUI::ISubWidget::_correctView
virtual void _correctView()
Definition: MyGUI_ISubWidget.h:52
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition: MyGUI_Platform.h:89
MyGUI_Types.h
MyGUI::ISubWidget::createDrawItem
virtual void createDrawItem(ITexture *_texture, ILayerNode *_node)=0
MyGUI_IStateInfo.h
MyGUI::ISubWidget::_setAlign
virtual void _setAlign(const IntSize &_oldsize)
Definition: MyGUI_ISubWidget.h:54
MyGUI
Definition: MyGUI_ActionController.h:15
MyGUI::ISubWidget
Definition: MyGUI_ISubWidget.h:27