00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MYGUI_SHARED_LAYER_H__
00024 #define __MYGUI_SHARED_LAYER_H__
00025
00026 #include "MyGUI_Prerequest.h"
00027 #include "MyGUI_Types.h"
00028 #include "MyGUI_ILayer.h"
00029 #include "MyGUI_SharedLayerNode.h"
00030
00031 namespace MyGUI
00032 {
00033
00034 class MYGUI_EXPORT SharedLayer :
00035 public ILayer
00036 {
00037 MYGUI_RTTI_DERIVED( SharedLayer )
00038
00039 public:
00040 SharedLayer();
00041 virtual ~SharedLayer();
00042
00043 virtual void deserialization(xml::ElementPtr _node, Version _version);
00044
00045
00046 virtual ILayerNode* createChildItemNode();
00047
00048 virtual void destroyChildItemNode(ILayerNode* _node);
00049
00050
00051 virtual void upChildItemNode(ILayerNode* _node);
00052
00053
00054 virtual EnumeratorILayerNode getEnumerator();
00055
00056
00057 virtual ILayerItem* getLayerItemByPoint(int _left, int _top);
00058
00059 virtual IntPoint getPosition(int _left, int _top) const;
00060
00061 virtual const IntSize& getSize() const;
00062
00063
00064 virtual void renderToTarget(IRenderTarget* _target, bool _update);
00065
00066 virtual void dumpStatisticToLog();
00067
00068 protected:
00069 bool mIsPick;
00070 SharedLayerNode* mChildItem;
00071 };
00072
00073 }
00074
00075 #endif // __MYGUI_SHARED_LAYER_H__