]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewport.cpp
Use static signal offsets instead of offsets calculated on-the-fly
[pulseview.git] / pv / view / viewport.cpp
index 2dcf9dc78f83ac740b3d3051d639ee8caa88c288..7d844d27bccadd71a287f5aeb784f9d5f1ad5f85 100644 (file)
@@ -21,8 +21,8 @@
 #include "view.h"
 #include "viewport.h"
 
+#include "signal.h"
 #include "../sigsession.h"
-#include "../signal.h"
 
 #include <QMouseEvent>
 
@@ -66,17 +66,15 @@ void Viewport::paintEvent(QPaintEvent *event)
        draw_cursors_background(p);
 
        // Plot the signal
-       int offset = -_view.v_offset();
+       const int v_offset = _view.v_offset();
        BOOST_FOREACH(const shared_ptr<Signal> s, sigs)
        {
                assert(s);
 
-               const QRect signal_rect(0, offset,
+               const QRect signal_rect(0, s->get_v_offset() - v_offset,
                        width(), View::SignalHeight);
 
                s->paint(p, signal_rect, _view.scale(), _view.offset());
-
-               offset += View::SignalHeight;
        }
 
        draw_cursors_foreground(p);