X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdimension.h;h=b3993b0413856b858106b7a7d408cca38aba02c4;hb=6533354910fbf76d9747deeae02b2e910ef9aa48;hp=c3709b61bbaf24da3fa23aa78a273ba3a399ec7f;hpb=51de783e1c8d149c9dd9bd0999f2ad25dbe6edf2;p=architektonas diff --git a/src/dimension.h b/src/dimension.h index c3709b6..b3993b0 100644 --- a/src/dimension.h +++ b/src/dimension.h @@ -1,7 +1,6 @@ #ifndef __DIMENSION_H__ #define __DIMENSION_H__ -#include "connection.h" #include "object.h" class Line; @@ -20,9 +19,14 @@ class Dimension: public Object virtual void Draw(Painter *); virtual Vector Center(void); virtual bool Collided(Vector); - virtual void PointerMoved(Vector); + virtual bool PointerMoved(Vector); virtual void PointerReleased(void); virtual bool HitTest(Point); + virtual void Translate(Vector); + virtual void Rotate(Point, double); + virtual void Mirror(Point, Point); + virtual void Save(void); + virtual void Restore(void); virtual void Enumerate(FILE *); virtual Object * Copy(void); virtual Vector GetPointAtParameter(double parameter); @@ -38,6 +42,7 @@ class Dimension: public Object Vector endpoint; // Starting point is Object::position Vector oldPoint; // Used for dragging Point oldEndpoint; + Point linePt1, linePt2; // Used for testing dimension line hits private: bool dragging; @@ -50,7 +55,9 @@ class Dimension: public Object bool hitPoint2; bool hitLine; bool hitFlipSwitch; - bool oldHitPoint1, oldHitPoint2, oldHitLine, oldHitFlipSwitch; + bool hitChangeSwitch1; + bool hitChangeSwitch2; + bool oldHitPoint1, oldHitPoint2, oldHitLine, oldHitFlipSwitch, oldHitChangeSwitch1, oldHitChangeSwitch2; public: double size; // Size of arrows/text in base units };