MyGUI 3.4.3
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
18namespace MyGUI
19{
20
21 class ISubWidget;
22 using VectorSubWidget = std::vector<ISubWidget*>;
23
25 {
27
28 public:
29 virtual void createDrawItem(ITexture* _texture, ILayerNode* _node) = 0;
30 virtual void destroyDrawItem() = 0;
31
32 virtual void setAlpha(float /*_alpha*/)
33 {
34 }
35
36 virtual void setStateData(IStateInfo* /*_data*/)
37 {
38 }
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 {
53 }
54 virtual void _correctView()
55 {
56 }
57
58 virtual void _setAlign(const IntSize& /*_oldsize*/)
59 {
60 }
61
62 virtual void doManualRender(IVertexBuffer* /*_buffer*/, ITexture* /*_texture*/, size_t /*_count*/)
63 {
64 }
65
66 protected:
68 bool mVisible{true};
69 };
70
71} // namespace MyGUI
72
73#endif // MYGUI_I_SUB_WIDGET_H_
#define MYGUI_EXPORT
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition MyGUI_RTTI.h:69
virtual void createDrawItem(ITexture *_texture, ILayerNode *_node)=0
virtual void setAlign(Align _value)
virtual void doRender()=0
virtual void setStateData(IStateInfo *)
virtual void _updateView()
virtual void setAlpha(float)
virtual void _correctView()
virtual void doManualRender(IVertexBuffer *, ITexture *, size_t)
virtual void destroyDrawItem()=0
virtual void setVisible(bool _value)
virtual void _setAlign(const IntSize &)
std::vector< ISubWidget * > VectorSubWidget