Initial VBO code
[pulseview.git] / signal.h
index 47e1dc915b4e50b873b58b6540c748d105e87cff..2cec1299e0cce040cf78d90a0441933c4512e9ce 100644 (file)
--- a/signal.h
+++ b/signal.h
  */
 
 #include <boost/shared_ptr.hpp>
+
+#include <QGLWidget>
+#include <QRect>
 #include <QString>
+
 #include <stdint.h>
 
 class SignalData;
@@ -32,6 +36,17 @@ protected:
 public:
        QString get_name() const;
 
+       /**
+        * Paints the signal into a QGLWidget.
+        * @param widget the QGLWidget to paint into.
+        * @param rect the rectangular area to draw the trace into.
+        * @param scale the scale in femtoseconds per pixel.
+        * @param offset the time to show at the left hand edge of
+        *   the view in femtoseconds.
+        **/
+       virtual void paint(QGLWidget &widget, const QRect &rect,
+               uint64_t scale, int64_t offset) = 0;
+
 protected:
        QString _name;
        boost::shared_ptr<SignalData> _data;