MyGUI: MyGUI_LayerManager.h Source File

MyGUI 3.4.2

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files
- Examples

- File List
- Globals

MyGUI_LayerManager.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_LAYER_MANAGER_H_
8#define MYGUI_LAYER_MANAGER_H_
9
10#include "MyGUI_Prerequest.h"
11#include "MyGUI_Singleton.h"
12#include "MyGUI_Enumerator.h"
13#include "MyGUI_XmlDocument.h"
14#include "MyGUI_IUnlinkWidget.h"
15#include "MyGUI_ResourceManager.h"
16#include "MyGUI_ILayer.h"
17#include "MyGUI_BackwardCompatibility.h"
18
19namespace MyGUI
20{
21
22 class MYGUI_EXPORT LayerManager :
23 public IUnlinkWidget,
24 public MemberObsolete<LayerManager>
25 {
26 MYGUI_SINGLETON_DECLARATION(LayerManager);
27 public:
28 typedef std::vector<ILayer*> VectorLayer;
29 typedef Enumerator<VectorLayer> EnumeratorLayer;
30
31 public:
32 LayerManager();
33
34 void initialise();
35 void shutdown();
36
41 void attachToLayerNode(const std::string& _name, Widget* _item);
45 void detachFromLayer(Widget* _item);
46
50 void upLayerItem(Widget* _item);
51
53 bool isExist(const std::string& _name) const;
55 EnumeratorLayer getEnumerator() const;
56
62 ILayer* createLayerAt(const std::string& _name, const std::string& _type, size_t _index);
63
65 ILayer* getByName(const std::string& _name, bool _throw = true) const;
66
67 size_t getLayerCount() const;
68
69 ILayer* getLayer(size_t _index) const;
70
72 Widget* getWidgetFromPoint(int _left, int _top) const;
73
75 void renderToTarget(IRenderTarget* _target, bool _update);
76
77 void resizeView(const IntSize& _viewSize);
78
79 const std::string& getCategoryName() const;
80
81 private:
82 void _load(xml::ElementPtr _node, const std::string& _file, Version _version);
83 void _unlinkWidget(Widget* _widget) override;
84
85 ILayer* _createLayerObject(const std::string& _type);
86
87 void clear();
88
89 void merge(VectorLayer& _layers);
90 void destroy(ILayer* _layer);
91
92 private:
93 VectorLayer mLayerNodes;
94
95 bool mIsInitialise;
96 std::string mCategoryName;
97 };
98
99} // namespace MyGUI
100
101#endif // MYGUI_LAYER_MANAGER_H_
MyGUI_BackwardCompatibility.h
MyGUI_Enumerator.h
MyGUI_ILayer.h
MyGUI_IUnlinkWidget.h
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition MyGUI_Platform.h:77
MyGUI_Prerequest.h
MyGUI_ResourceManager.h
MyGUI_Singleton.h
MYGUI_SINGLETON_DECLARATION
#define MYGUI_SINGLETON_DECLARATION(ClassName)
Definition MyGUI_Singleton.h:111
MyGUI_XmlDocument.h
MyGUI::Enumerator
Definition MyGUI_Enumerator.h:49
MyGUI::ILayer
Definition MyGUI_ILayer.h:23
MyGUI::IRenderTarget
Definition MyGUI_IRenderTarget.h:21
MyGUI::IUnlinkWidget
Definition MyGUI_IUnlinkWidget.h:17
MyGUI::LayerManager
Definition MyGUI_LayerManager.h:25
MyGUI::LayerManager::EnumeratorLayer
Enumerator< VectorLayer > EnumeratorLayer
Definition MyGUI_LayerManager.h:29
MyGUI::LayerManager::VectorLayer
std::vector< ILayer * > VectorLayer
Definition MyGUI_LayerManager.h:28
MyGUI::MemberObsolete
Definition MyGUI_DeprecatedTypes.h:14
MyGUI::Version
Definition MyGUI_Version.h:18
MyGUI::Widget
widget description should be here.
Definition MyGUI_Widget.h:37
MyGUI::xml::Element
Definition MyGUI_XmlDocument.h:159
MyGUI
Definition MyGUI_ActionController.h:15
MyGUI::types::TSize< int >