/*
- * This file is part of the sigrok project.
+ * This file is part of the PulseView project.
*
* Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
*
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef PV_VIEW_VIEWPORT_H
-#define PV_VIEW_VIEWPORT_H
+#ifndef PULSEVIEW_PV_VIEW_VIEWPORT_H
+#define PULSEVIEW_PV_VIEW_VIEWPORT_H
-#include <QtOpenGL/QGLWidget>
#include <QTimer>
+#include <QWidget>
+#include <QTouchEvent>
class QPainter;
class QPaintEvent;
class View;
-class Viewport : public QGLWidget
+class Viewport : public QWidget
{
Q_OBJECT
-private:
- static const int MinorTickSubdivision;
- static const int ScaleUnits[3];
-
- static const QString SIPrefixes[9];
- static const int FirstSIPrefixPower;
-
public:
explicit Viewport(View &parent);
int get_total_height() const;
protected:
- void initializeGL();
-
- void resizeGL(int width, int height);
-
void paintEvent(QPaintEvent *event);
private:
+ bool event(QEvent *event);
void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
+ void mouseMoveEvent(QMouseEvent *event);
+ void mouseDoubleClickEvent(QMouseEvent * event);
void wheelEvent(QWheelEvent *event);
+ bool touchEvent(QTouchEvent *e);
-private:
- void setup_viewport(int width, int height);
-
- void paint_ruler(QPainter &p);
+private Q_SLOTS:
+ void on_signals_changed();
+ void on_signals_moved();
private:
View &_view;
QPoint _mouse_down_point;
double _mouse_down_offset;
+ bool _mouse_down_valid;
+
+ double _pinch_offset0;
+ double _pinch_offset1;
+ bool _pinch_zoom_active;
};
} // namespace view
} // namespace pv
-#endif // PV_VIEW_VIEWPORT_H
+#endif // PULSEVIEW_PV_VIEW_VIEWPORT_H