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