X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=sigview.h;h=3630d17e572cfe074a893d7463370d0af4148a3e;hp=0d1c06f7ca0f29339c5091507704432adbc183e0;hb=4780b4c82daf8e6d0386411d333967782bf52d8c;hpb=e9c41f8ce607164040ce86abd35a0a8751193f1f diff --git a/sigview.h b/sigview.h index 0d1c06f7..3630d17e 100644 --- a/sigview.h +++ b/sigview.h @@ -33,15 +33,24 @@ class SigView : public QGLWidget Q_OBJECT private: + static const double MaxScale; + static const double MinScale; + static const int SignalHeight; static const int LabelMarginWidth; static const int RulerHeight; + static const int MinorTickSubdivision; static const int ScaleUnits[3]; + static const QString SIPrefixes[9]; + static const int FirstSIPrefixPower; + public: explicit SigView(SigSession &session, QWidget *parent = 0); + void zoom(double steps); + protected: void initializeGL(); @@ -51,23 +60,29 @@ protected: void paintEvent(QPaintEvent *event); private: - void mouseMoveEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); + void wheelEvent(QWheelEvent *event); private: - void setupViewport(int width, int height); + void setup_viewport(int width, int height); + + void paint_ruler(QPainter &p); - void paintRuler(QPainter &p); + void zoom(double steps, int offset); private slots: - void dataUpdated(); + void data_updated(); private: SigSession &_session; double _scale; double _offset; + + QPoint _mouse_down_point; + double _mouse_down_offset; }; #endif // SIGVIEW_H