MyGUI  3.4.0
MyGUI_SharedLayer.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_SHARED_LAYER_H_
8 #define MYGUI_SHARED_LAYER_H_
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Types.h"
12 #include "MyGUI_ILayer.h"
13 #include "MyGUI_SharedLayerNode.h"
14 
15 namespace MyGUI
16 {
17 
19  public ILayer
20  {
22 
23  public:
24  SharedLayer();
25  ~SharedLayer() override;
26 
27  void deserialization(xml::ElementPtr _node, Version _version) override;
28 
29  void setPick(bool _pick);
30 
31  ILayerNode* createChildItemNode() override;
32  void destroyChildItemNode(ILayerNode* _node) override;
33 
34  // up child item (make it draw and pick above other)
35  void upChildItemNode(ILayerNode* _node) override;
36 
37  // child items list
38  EnumeratorILayerNode getEnumerator() const override;
39 
40  size_t getLayerNodeCount() const override;
41 
42  ILayerNode* getLayerNodeAt(size_t _index) const override;
43 
44  // return widget at position
45  ILayerItem* getLayerItemByPoint(int _left, int _top) const override;
46 
47  // return position in layer coordinates
48  IntPoint getPosition(int _left, int _top) const override;
49 
50  // return layer size
51  const IntSize& getSize() const override;
52 
53  // render layer
54  void renderToTarget(IRenderTarget* _target, bool _update) override;
55 
56  void resizeView(const IntSize& _viewSize) override;
57 
58  bool isOutOfDate() const;
59 
60  protected:
61  bool mIsPick;
63  bool mOutOfDate;
65  };
66 
67 } // namespace MyGUI
68 
69 #endif // MYGUI_SHARED_LAYER_H_
MyGUI_SharedLayerNode.h
MyGUI::ILayerNode
Definition: MyGUI_ILayerNode.h:30
MyGUI::SharedLayerNode
Definition: MyGUI_SharedLayerNode.h:18
MyGUI::types::TPoint< int >
MyGUI::ILayer
Definition: MyGUI_ILayer.h:23
MyGUI::xml::Element
Definition: MyGUI_XmlDocument.h:159
MyGUI::SharedLayer::mChildItem
SharedLayerNode * mChildItem
Definition: MyGUI_SharedLayer.h:62
MyGUI::SharedLayer::mIsPick
bool mIsPick
Definition: MyGUI_SharedLayer.h:61
MyGUI::Version
Definition: MyGUI_Version.h:18
MyGUI_Prerequest.h
MyGUI::SharedLayer::mOutOfDate
bool mOutOfDate
Definition: MyGUI_SharedLayer.h:63
MyGUI::SharedLayer
Definition: MyGUI_SharedLayer.h:20
MyGUI::SharedLayer::mViewSize
IntSize mViewSize
Definition: MyGUI_SharedLayer.h:64
MYGUI_RTTI_DERIVED
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition: MyGUI_RTTI.h:48
MyGUI::Enumerator
Definition: MyGUI_Enumerator.h:49
MyGUI::types::TSize< int >
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition: MyGUI_Platform.h:89
MyGUI_Types.h
MyGUI_ILayer.h
MyGUI
Definition: MyGUI_ActionController.h:15
MyGUI::ILayerItem
Definition: MyGUI_ILayerItem.h:20
MyGUI::IRenderTarget
Definition: MyGUI_IRenderTarget.h:21