virtual bool Collided(Vector);
virtual void PointerMoved(Vector);
virtual void PointerReleased(void);
-// virtual bool NeedsUpdate(void);
+ virtual bool HitTest(Point);
+ virtual void Enumerate(FILE *);
+ virtual QRectF Extents(void);
+// virtual Object * Copy(void);
+// virtual ObjectType Type(void);
+
+ protected:
+ void SaveState(void);
+ bool StateChanged(void);
protected:
double radius; // Center is Object::position
- Vector oldPoint; // Used for dragging
+ Vector dragPoint; // Used for rendering edge dragging
private:
- bool dragging;
- bool draggingHandle1;
- bool draggingHandle2;
-// bool needUpdate;
+ bool draggingEdge;
+ bool draggingCenter;
bool objectWasDragged;
+ bool hitCenter, hitCircle;
+ bool oldHitCenter, oldHitCircle;
};
#endif // __CIRCLE_H__