+++ /dev/null
-#ifndef __CIRCLE_H__
-#define __CIRCLE_H__
-
-#include "object.h"
-
-class Circle: public Object
-{
- friend class Geometry;
-
- public:
- Circle(Vector, double, Object * p = 0);
- ~Circle();
-
- virtual void Draw(Painter *);
- virtual Vector Center(void);
- virtual bool Collided(Vector);
- virtual bool PointerMoved(Vector);
- virtual void PointerReleased(void);
- virtual bool HitTest(Point);
- virtual void Enumerate(FILE *);
- virtual Object * Copy(void);
- virtual QRectF Extents(void);
- virtual void Rotate(Point, double);
- virtual void Mirror(Point, Point);
- virtual void Save(void);
- virtual void Restore(void);
-
- protected:
- void SaveHitState(void);
- bool HitStateChanged(void);
-
- protected:
- double radius; // Center is Object::position
- Vector dragPoint; // Used for rendering edge dragging
- double oldRadius2;
-
- private:
- bool draggingEdge;
- bool draggingCenter;
- bool objectWasDragged;
- bool hitCenter, hitCircle;
- bool oldHitCenter, oldHitCircle;
- double oldRadius;
-};
-
-#endif // __CIRCLE_H__