00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef TEDDY__PHYSICAL_COMPONENTS__LAYER__H
00026 #define TEDDY__PHYSICAL_COMPONENTS__LAYER__H
00027
00028
00029 #include "Teddy/PhysicalComponents/Area.h"
00030 #include "Teddy/SysSupport/StdList.h"
00031 #include "Teddy/SysSupport/Types.h"
00032 namespace Teddy {
00033 namespace Graphics { class View; };
00034 };
00035
00036
00037 namespace Teddy {
00038 namespace PhysicalComponents {
00039
00040
00041 class Projection;
00042
00043
00053 class Layer : public Area {
00054 public:
00055 Layer( std::string name, View *view );
00056
00057 void update( View *view );
00058
00059
00060 virtual Area *getHit ( const Vector2 &pos );
00061
00062
00063 virtual void drawLayer ();
00064 virtual void drawSelf ();
00065 virtual void place ();
00066
00067 void addProjection( Projection *p );
00068
00069 protected:
00070 list<Projection*> projs;
00071 };
00072
00073
00074 };
00075 };
00076
00077
00078 #endif // TEDDY__PHYSICAL_COMPONENTS__LAYER__H
00079