]> Shamusworld >> Repos - architektonas/blob - src/container.h
e7bf355217d82d6c7d8a7528797b2ca917e600ec
[architektonas] / src / container.h
1 #ifndef __CONTAINER_H__
2 #define __CONTAINER_H__
3
4 #include <vector>
5 #include "object.h"
6
7 class Container: public Object
8 {
9         public:
10 //              Container(void);
11                 Container(Vector, Object * p = 0);
12                 Container(const Container &);
13                 ~Container();
14
15                 Container & operator=(const Container &);
16                 virtual void Draw(Painter *);
17                 virtual Vector Center(void);
18                 virtual bool Collided(Vector);
19                 virtual void PointerMoved(Vector);
20                 virtual void PointerReleased(void);
21                 virtual bool NeedsUpdate(void);
22                 virtual void Add(Object *);
23                 virtual void Enumerate(FILE *);
24                 void Clear(void);
25
26         protected:
27                 Vector oldPoint;                                        // Used for dragging
28
29         public:
30                 std::vector<Object *> objects;
31         private:
32                 bool dragging;
33                 bool draggingHandle1;
34                 bool draggingHandle2;
35 //              bool needUpdate;
36                 bool objectWasDragged;
37 };
38
39 #endif  // __CONTAINER_H__