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__DOCK__H
00026 #define TEDDY__PHYSICAL_COMPONENTS__DOCK__H
00027
00028
00029 #include "Teddy/PhysicalComponents/Area.h"
00030 #include "Teddy/SysSupport/StdList.h"
00031
00032
00033 namespace Teddy {
00034 namespace PhysicalComponents {
00035
00036
00037 #define DOCK_HORIZONTAL 0
00038 #define DOCK_VERTICAL 1
00039
00040
00042 class Dock : public Area {
00043 public:
00044 Dock( std::string name, const int axis = DOCK_VERTICAL );
00045 virtual ~Dock();
00046
00047 virtual void beginSize ( const Vector2 &ref );
00048 virtual void callSize ( Area *a );
00049 virtual void endSize ();
00050 virtual void beginPlace( const Rect &ref );
00051 virtual void callPlace ( Area *a );
00052
00053 protected:
00054 Vector2 cursor_start;
00055 Vector2 cursor_end;
00056 int axis_max;
00057 int axis_sum;
00058 };
00059
00060
00061 };
00062 };
00063
00064
00065 #endif // TEDDY__PHYSICAL_COMPONENTS__DOCK__H
00066