]> sigrok.org Git - pulseview.git/blobdiff - pv/view/analogsignal.cpp
Added a scale factor to AnalogSignal
[pulseview.git] / pv / view / analogsignal.cpp
index 03b05955e4820f90bfd40e12058ccef2d7d60701..75b5d3dfd245bcc5b982a4545245461b7cf627af 100644 (file)
@@ -42,11 +42,17 @@ const QColor AnalogSignal::SignalColours[4] = {
 AnalogSignal::AnalogSignal(QString name, shared_ptr<data::Analog> data,
        int probe_index) :
        Signal(name),
-       _data(data)
+       _data(data),
+       _scale(1.0f)
 {
        _colour = SignalColours[probe_index % countof(SignalColours)];
 }
 
+void AnalogSignal::set_scale(float scale)
+{
+       _scale = scale;
+}
+
 void AnalogSignal::paint(QPainter &p, int y, int left, int right, double scale,
        double offset)
 {
@@ -90,7 +96,7 @@ void AnalogSignal::paint(QPainter &p, int y, int left, int right, double scale,
                const float x = (sample / samples_per_pixel -
                        pixels_offset) + left;
                *point++ = QPointF(x,
-                       samples[sample - start_sample] + y);
+                       y - samples[sample - start_sample] * _scale);
        }
 
        p.setPen(_colour);