public:
BezierSplineEditor(QWidget* parent = 0);
+ virtual ~BezierSplineEditor();
CubicBezierSpline spline();
void setSpline(const CubicBezierSpline &spline);
BPoint getCurrentPoint();
void updateCurrentPoint(const BPoint &p);
+ int gridLines();
+ void setGridLines(int lines);
+
+ void setPixmap(const QPixmap &pixmap);
+
+public slots:
+ void slotZoomIn();
+ void slotZoomOut();
+
protected:
//void keyPressEvent(QKeyEvent *event);
void paintEvent(QPaintEvent *event);
enum modes { ModeDrag, ModeNormal };
enum point_types { PTypeH1, PTypeP, PTypeH2 };
modes m_mode;
+ int m_zoomLevel;
+ int m_gridLines;
+ QPixmap m_pixmap;
+ QPixmap *m_pixmapCache;
+ bool m_pixmapIsDirty;
+
int m_currentPointIndex;
point_types m_currentPointType;
double m_grabOffsetX;
double m_grabOffsetY;
- double m_grabOriginalX;
- double m_grabOriginalY;
+ BPoint m_grabPOriginal;
+ BPoint m_grabPNext;
+ BPoint m_grabPPrevious;
//QPointF m_draggedAwayPoint;
//int m_draggedAwayPointIndex;