MyGUI
3.2.1
|
00001 /* 00002 * This source file is part of MyGUI. For the latest info, see http://mygui.info/ 00003 * Distributed under the MIT License 00004 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT) 00005 */ 00006 00007 #ifndef __MYGUI_OVERLAPPED_LAYER_H__ 00008 #define __MYGUI_OVERLAPPED_LAYER_H__ 00009 00010 #include "MyGUI_Prerequest.h" 00011 #include "MyGUI_Types.h" 00012 #include "MyGUI_ILayer.h" 00013 00014 namespace MyGUI 00015 { 00016 00017 class MYGUI_EXPORT OverlappedLayer : 00018 public ILayer 00019 { 00020 MYGUI_RTTI_DERIVED( OverlappedLayer ) 00021 00022 public: 00023 OverlappedLayer(); 00024 virtual ~OverlappedLayer(); 00025 00026 virtual void deserialization(xml::ElementPtr _node, Version _version); 00027 00028 // создаем дочерний нод 00029 virtual ILayerNode* createChildItemNode(); 00030 // удаляем дочерний нод 00031 virtual void destroyChildItemNode(ILayerNode* _node); 00032 00033 // поднимаем дочерний нод 00034 virtual void upChildItemNode(ILayerNode* _node); 00035 00036 // список детей 00037 virtual EnumeratorILayerNode getEnumerator() const; 00038 00039 virtual size_t getLayerNodeCount() const; 00040 00041 virtual ILayerNode* getLayerNodeAt(size_t _index) const; 00042 00043 // возвращает виджет по позиции 00044 virtual ILayerItem* getLayerItemByPoint(int _left, int _top) const; 00045 00046 virtual IntPoint getPosition(int _left, int _top) const; 00047 00048 virtual const IntSize& getSize() const; 00049 00050 // рисует леер 00051 virtual void renderToTarget(IRenderTarget* _target, bool _update); 00052 00053 virtual void resizeView(const IntSize& _viewSize); 00054 00055 bool isOutOfDate() const; 00056 00057 protected: 00058 bool mIsPick; 00059 VectorILayerNode mChildItems; 00060 bool mOutOfDate; 00061 IntSize mViewSize; 00062 }; 00063 00064 } // namespace MyGUI 00065 00066 #endif // __MYGUI_OVERLAPPED_LAYER_H__