X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=sigview.h;h=b60ee44b1d4a10aff320e30f0c4ef57673290e6d;hp=ccbc8c84eb78d8e944bff478b00cfdcc68fc55e4;hb=22016ad3e5b44f05d50fb6ff518b6c884dd185cf;hpb=7cd5faf8cfed1871195aed7a4c325342172944b3 diff --git a/sigview.h b/sigview.h index ccbc8c84..b60ee44b 100644 --- a/sigview.h +++ b/sigview.h @@ -24,6 +24,8 @@ #include #include +class QPainter; +class QPaintEvent; class SigSession; class SigView : public QGLWidget @@ -32,6 +34,13 @@ class SigView : public QGLWidget private: static const int SignalHeight; + static const int LabelMarginWidth; + static const int RulerHeight; + + static const int ScaleUnits[3]; + + static const QString SIPrefixes[9]; + static const int FirstSIPrefixPower; public: explicit SigView(SigSession &session, QWidget *parent = 0); @@ -42,21 +51,26 @@ protected: void resizeGL(int width, int height); - void paintGL(); + void paintEvent(QPaintEvent *event); private: void mouseMoveEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); +private: + void setupViewport(int width, int height); + + void paintRuler(QPainter &p); + private slots: void dataUpdated(); private: SigSession &_session; - uint64_t _scale; - int64_t _offset; + double _scale; + double _offset; }; #endif // SIGVIEW_H