MyGUI  3.2.2
MyGUI_ILayerNode.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_LAYER_NODE_H_
8 #define MYGUI_I_LAYER_NODE_H_
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Enumerator.h"
12 #include "MyGUI_IObject.h"
13 #include "MyGUI_IRenderTarget.h"
14 
15 namespace MyGUI
16 {
17 
18  class ILayer;
19  class ILayerItem;
20  class ILayerNode;
21 
22  class RenderItem;
23 
24  typedef std::vector<ILayerNode*> VectorILayerNode;
26 
28  public IObject
29  {
31 
32  public:
33  virtual ~ILayerNode() { }
34 
35  // леер, которому мы принадлежим
36  virtual ILayer* getLayer() const = 0;
37 
38  // возвращает отца или nullptr
39  virtual ILayerNode* getParent() const = 0;
40 
41  // создаем дочерний нод
43  // удаляем дочерний нод
44  virtual void destroyChildItemNode(ILayerNode* _node) = 0;
45 
46  // поднимаем дочерний нод
47  virtual void upChildItemNode(ILayerNode* _node) = 0;
48 
49  // список детей
50  virtual EnumeratorILayerNode getEnumerator() const = 0;
51 
52  virtual size_t getLayerNodeCount() const = 0;
53 
54  virtual ILayerNode* getLayerNodeAt(size_t _index) const = 0;
55 
56  // добавляем айтем к ноду
57  virtual void attachLayerItem(ILayerItem* _item) = 0;
58  // удаляем айтем из нода
59  virtual void detachLayerItem(ILayerItem* _root) = 0;
60 
61  // добавляет саб айтем и возвращает рендер айтем
62  virtual RenderItem* addToRenderItem(ITexture* _texture, bool _firstQueue, bool _separate) = 0;
63  // необходимо обновление нода
64  virtual void outOfDate(RenderItem* _item) = 0;
65 
66  // возвращает виджет по позиции
67  virtual ILayerItem* getLayerItemByPoint(int _left, int _top) const = 0;
68 
69  // рисует леер
70  virtual void renderToTarget(IRenderTarget* _target, bool _update) = 0;
71 
72  virtual void resizeView(const IntSize& _viewSize) = 0;
73 
74  virtual float getNodeDepth() = 0;
75  };
76 
77 } // namespace MyGUI
78 
79 #endif // MYGUI_I_LAYER_NODE_H_
MyGUI::ILayerNode::getLayer
virtual ILayer * getLayer() const =0
MyGUI::ILayerNode::detachLayerItem
virtual void detachLayerItem(ILayerItem *_root)=0
MyGUI::ILayerNode::getLayerItemByPoint
virtual ILayerItem * getLayerItemByPoint(int _left, int _top) const =0
MyGUI::ILayerNode::attachLayerItem
virtual void attachLayerItem(ILayerItem *_item)=0
MyGUI::ILayerNode::getEnumerator
virtual EnumeratorILayerNode getEnumerator() const =0
MyGUI_IObject.h
MyGUI::ILayerNode::addToRenderItem
virtual RenderItem * addToRenderItem(ITexture *_texture, bool _firstQueue, bool _separate)=0
MyGUI::ILayerNode::getParent
virtual ILayerNode * getParent() const =0
MyGUI::ILayerNode::outOfDate
virtual void outOfDate(RenderItem *_item)=0
MyGUI::ILayerNode
Definition: MyGUI_ILayerNode.h:29
MyGUI_Enumerator.h
MyGUI::VectorILayerNode
std::vector< ILayerNode * > VectorILayerNode
Definition: MyGUI_ILayerNode.h:22
MyGUI::RenderItem
Definition: MyGUI_RenderItem.h:23
MyGUI::ILayerNode::~ILayerNode
virtual ~ILayerNode()
Definition: MyGUI_ILayerNode.h:33
MyGUI::ILayer
Definition: MyGUI_ILayer.h:23
MyGUI::ILayerNode::upChildItemNode
virtual void upChildItemNode(ILayerNode *_node)=0
MyGUI::ILayerNode::getNodeDepth
virtual float getNodeDepth()=0
MyGUI::ILayerNode::getLayerNodeAt
virtual ILayerNode * getLayerNodeAt(size_t _index) const =0
MyGUI::ILayerNode::getLayerNodeCount
virtual size_t getLayerNodeCount() const =0
MyGUI::ILayerNode::renderToTarget
virtual void renderToTarget(IRenderTarget *_target, bool _update)=0
MyGUI_Prerequest.h
MyGUI::ILayerNode::resizeView
virtual void resizeView(const IntSize &_viewSize)=0
MYGUI_RTTI_DERIVED
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition: MyGUI_RTTI.h:61
MyGUI_IRenderTarget.h
MyGUI::Enumerator
Definition: MyGUI_Enumerator.h:49
MyGUI::types::TSize< int >
MyGUI::IObject
Definition: MyGUI_IObject.h:17
MyGUI::ITexture
Definition: MyGUI_ITexture.h:27
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition: MyGUI_Platform.h:103
MyGUI::ILayerNode::createChildItemNode
virtual ILayerNode * createChildItemNode()=0
MyGUI
Definition: MyGUI_ActionController.h:15
MyGUI::ILayerItem
Definition: MyGUI_ILayerItem.h:19
MyGUI::IRenderTarget
Definition: MyGUI_IRenderTarget.h:21
MyGUI::EnumeratorILayerNode
Enumerator< VectorILayerNode > EnumeratorILayerNode
Definition: MyGUI_ILayerNode.h:25
MyGUI::ILayerNode::destroyChildItemNode
virtual void destroyChildItemNode(ILayerNode *_node)=0