virtual bool Collided(Vector);
virtual void PointerMoved(Vector);
virtual void PointerReleased(void);
+ virtual bool HitTest(Point);
virtual void Enumerate(FILE *);
-// virtual Object * Copy(void);
+ virtual Object * Copy(void);
virtual Vector GetPointAtParameter(double parameter);
virtual void Connect(Object *, double);
virtual void Disconnect(Object *, double);
virtual void DisconnectAll(Object *);
+ virtual QRectF Extents(void);
void FlipSides(void);
+ protected:
+ void SaveHitState(void);
+ bool HitStateChanged(void);
+
protected:
Vector endpoint; // Starting point is Object::position
Vector oldPoint; // Used for dragging
+ Point oldEndpoint;
private:
bool dragging;
bool draggingHandle2;
bool objectWasDragged;
double length;
- DimensionType type;
+ DimensionType dimensionType;
+ bool hitPoint1;
+ bool hitPoint2;
+ bool oldHitPoint1, oldHitPoint2;
+ public:
+ double size; // Size of arrows/text in base units
+ private:
// We use these in lieu of the built-in connected[] array; no reason to
// do it this way especially
Connection point1;