#include <vector> // This is a container
#include "vector.h" // This is the mathematical construct
+#include <stdio.h>
-class QPainter;
+class Painter;
class QFont;
class Dimension;
+//class FILE;
enum ObjectState { OSInactive, OSSelected };
Object(Vector, Object * passedInParent = 0);
~Object();
- virtual void Draw(QPainter *);
+ virtual void Draw(Painter *);
virtual Vector Center(void);
virtual bool Collided(Vector);
virtual void PointerMoved(Vector);
virtual void Transmute(Object *, Object *);
virtual Object * GetParent(void);
virtual void Add(Object *);
+ virtual Vector * GetPointAt(Vector);
+ virtual void Enumerate(FILE *);
+ virtual Object * Copy(void);
ObjectState GetState(void);
+ void Reparent(Object *);
+ Dimension * GetAttachedDimension(void);
//Hm. Object * Connect(Object *);
// Class methods
static void SetViewportHeight(int);
static void SetDeleteActive(bool state = true);
static void SetDimensionActive(bool state = true);
+ static void SetSnapMode(bool state = true);
protected:
Vector position; // All objects have a position (doubles as reference point)
static int viewportHeight;
static bool deleteActive;
static bool dimensionActive;
+ static bool snapToGrid;
};
#endif // __OBJECT_H__