MyGUI
3.2.1
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
mygui
MyGUIEngine
include
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
;
25
typedef
Enumerator<VectorILayerNode>
EnumeratorILayerNode
;
26
27
class
MYGUI_EXPORT
ILayerNode
:
28
public
IObject
29
{
30
MYGUI_RTTI_DERIVED
(
ILayerNode
)
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
// создаем дочерний нод
42
virtual
ILayerNode
* createChildItemNode() = 0;
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__
Generated on Wed Aug 20 2014 00:03:32 for MyGUI by
1.8.3.1