MyGUI: MyGUI_ISubWidget.h Source File

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"
11#include "MyGUI_ICroppedRectangle.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
24 class MYGUI_EXPORT ISubWidget : public ICroppedRectangle, public IObject
25 {
26 MYGUI_RTTI_DERIVED(ISubWidget)
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:
67 Align mAlign;
68 bool mVisible{true};
69 };
70
71} // namespace MyGUI
72
73#endif // MYGUI_I_SUB_WIDGET_H_
MyGUI_ICroppedRectangle.h
MyGUI_ILayerNode.h
MyGUI_IObject.h
MyGUI_IRenderTarget.h
MyGUI_IStateInfo.h
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition MyGUI_Platform.h:77
MyGUI_Prerequest.h
MYGUI_RTTI_DERIVED
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition MyGUI_RTTI.h:69
MyGUI_Types.h
MyGUI::ICroppedRectangle
Definition MyGUI_ICroppedRectangle.h:17
MyGUI::ILayerNode
Definition MyGUI_ILayerNode.h:29
MyGUI::IObject
Definition MyGUI_IObject.h:17
MyGUI::IStateInfo
Definition MyGUI_IStateInfo.h:17
MyGUI::ISubWidget
Definition MyGUI_ISubWidget.h:25
MyGUI::ISubWidget::createDrawItem
virtual void createDrawItem(ITexture *_texture, ILayerNode *_node)=0
MyGUI::ISubWidget::setAlign
virtual void setAlign(Align _value)
Definition MyGUI_ISubWidget.h:42
MyGUI::ISubWidget::mAlign
Align mAlign
Definition MyGUI_ISubWidget.h:67
MyGUI::ISubWidget::doRender
virtual void doRender()=0
MyGUI::ISubWidget::setStateData
virtual void setStateData(IStateInfo *)
Definition MyGUI_ISubWidget.h:36
MyGUI::ISubWidget::_updateView
virtual void _updateView()
Definition MyGUI_ISubWidget.h:51
MyGUI::ISubWidget::setAlpha
virtual void setAlpha(float)
Definition MyGUI_ISubWidget.h:32
MyGUI::ISubWidget::_correctView
virtual void _correctView()
Definition MyGUI_ISubWidget.h:54
MyGUI::ISubWidget::doManualRender
virtual void doManualRender(IVertexBuffer *, ITexture *, size_t)
Definition MyGUI_ISubWidget.h:62
MyGUI::ISubWidget::mVisible
bool mVisible
Definition MyGUI_ISubWidget.h:68
MyGUI::ISubWidget::destroyDrawItem
virtual void destroyDrawItem()=0
MyGUI::ISubWidget::setVisible
virtual void setVisible(bool _value)
Definition MyGUI_ISubWidget.h:46
MyGUI::ISubWidget::_setAlign
virtual void _setAlign(const IntSize &)
Definition MyGUI_ISubWidget.h:58
MyGUI::ITexture
Definition MyGUI_ITexture.h:28
MyGUI::IVertexBuffer
Definition MyGUI_IVertexBuffer.h:17
MyGUI
Definition MyGUI_ActionController.h:15
MyGUI::VectorSubWidget
std::vector< ISubWidget * > VectorSubWidget
Definition MyGUI_ISubWidget.h:22
MyGUI::IntSize
types::TSize< int > IntSize
Definition MyGUI_Types.h:30
MyGUI::Align
Definition MyGUI_Align.h:20