X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=sigview.h;h=aae9e67e37c7d4fb4b837989df63ade658f62709;hp=e2d9543a452d5a7d5cfce2b62ebc542275b41f14;hb=7d5425efcefd801264a504f8a9d92977f2be6eeb;hpb=3e46726aaf1cfe749c8f3fced7b455cf01a03c86 diff --git a/sigview.h b/sigview.h index e2d9543a..aae9e67e 100644 --- a/sigview.h +++ b/sigview.h @@ -24,6 +24,7 @@ #include #include +class QPainter; class QPaintEvent; class SigSession; @@ -32,8 +33,18 @@ 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); @@ -47,21 +58,27 @@ 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); 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