+ explicit SigView(SigSession &session, QWidget *parent = 0);
+
+ void zoom(double steps);
+
+protected:
+
+ void initializeGL();
+
+ void resizeGL(int width, int height);
+
+ void paintEvent(QPaintEvent *event);
+
+private:
+ void mousePressEvent(QMouseEvent *event);
+ void mouseMoveEvent(QMouseEvent *event);
+ void mouseReleaseEvent(QMouseEvent *event);
+ void wheelEvent(QWheelEvent *event);
+
+private:
+ void setup_viewport(int width, int height);
+
+ void paint_ruler(QPainter &p);
+
+ void zoom(double steps, int offset);
+
+private slots:
+ void data_updated();
+
+private:
+ SigSession &_session;
+
+ double _scale;
+ double _offset;
+
+ QPoint _mouse_down_point;
+ double _mouse_down_offset;