MyGUI
3.0.1
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
MyGUIEngine
include
MyGUI_LayerManager.h
Go to the documentation of this file.
1
7
/*
8
This file is part of MyGUI.
9
10
MyGUI is free software: you can redistribute it and/or modify
11
it under the terms of the GNU Lesser General Public License as published by
12
the Free Software Foundation, either version 3 of the License, or
13
(at your option) any later version.
14
15
MyGUI is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU Lesser General Public License for more details.
19
20
You should have received a copy of the GNU Lesser General Public License
21
along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
#ifndef __MYGUI_LAYER_MANAGER_H__
24
#define __MYGUI_LAYER_MANAGER_H__
25
26
#include "
MyGUI_Prerequest.h
"
27
#include "
MyGUI_Instance.h
"
28
#include "
MyGUI_Enumerator.h
"
29
#include "
MyGUI_XmlDocument.h
"
30
#include "
MyGUI_IUnlinkWidget.h
"
31
#include "
MyGUI_ResourceManager.h
"
32
#include "
MyGUI_ILayer.h
"
33
34
namespace
MyGUI
35
{
36
37
class
MYGUI_EXPORT
LayerManager
:
38
public
IUnlinkWidget
39
{
40
MYGUI_INSTANCE_HEADER
(
LayerManager
)
41
42
public
:
43
typedef
std::vector<ILayer*>
VectorLayer
;
44
typedef
Enumerator<VectorLayer>
EnumeratorLayer
;
45
46
public
:
47
void
initialise();
48
void
shutdown();
49
54
void
attachToLayerNode(
const
std::string& _name,
Widget
* _item);
58
void
detachFromLayer(
Widget
* _item);
59
63
void
upLayerItem(
Widget
* _item);
64
66
bool
load(
const
std::string& _file);
67
void
_load(
xml::ElementPtr
_node,
const
std::string& _file,
Version
_version);
68
70
bool
isExist(
const
std::string& _name)
const
;
72
EnumeratorLayer
getEnumerator
() {
return
EnumeratorLayer
(mLayerNodes); }
73
74
ILayer
* getByName(
const
std::string& _name,
bool
_throw =
true
)
const
;
75
77
Widget
* getWidgetFromPoint(
int
_left,
int
_top);
78
79
void
renderToTarget(
IRenderTarget
* _target,
bool
_update);
80
81
virtual
void
dumpStatisticToLog();
82
83
private
:
84
// удаляем данный виджет из всех возможных мест
85
void
_unlinkWidget(
Widget
* _widget);
86
87
void
clear();
88
89
void
merge(VectorLayer& _layers);
90
void
destroy(
ILayer
* _layer);
91
92
private
:
93
VectorLayer mLayerNodes;
94
95
};
96
97
}
// namespace MyGUI
98
99
#endif // __MYGUI_LAYER_MANAGER_H__
Generated by
1.8.1.2