]> sigrok.org Git - pulseview.git/blobdiff - pv/view/logicsignal.cpp
Add a pointer to the current View inside Trace
[pulseview.git] / pv / view / logicsignal.cpp
index 0c934cc72cb0f3de8a675332de3115deb86b9ee4..3624ccf0f26b2df1dce6624c95a78d974d69b5bd 100644 (file)
@@ -28,6 +28,7 @@
 #include "pv/sigsession.h"
 #include "pv/data/logic.h"
 #include "pv/data/logicsnapshot.h"
+#include "pv/view/view.h"
 
 using namespace boost;
 using namespace std;
@@ -156,8 +157,7 @@ const list<QAction*> LogicSignal::get_context_bar_actions()
        return actions;
 }
 
-void LogicSignal::paint(QPainter &p, int y, int left, int right,
-               double scale, double offset)
+void LogicSignal::paint(QPainter &p, int left, int right)
 {
        using pv::view::View;
 
@@ -166,10 +166,17 @@ void LogicSignal::paint(QPainter &p, int y, int left, int right,
        vector< pair<int64_t, bool> > edges;
 
        assert(_probe);
-       assert(scale > 0);
        assert(_data);
        assert(right >= left);
 
+       assert(_view);
+       const int y = _v_offset - _view->v_offset();
+       
+       const double scale = _view->scale();
+       assert(scale > 0);
+       
+       const double offset = _view->offset();
+
        if (!_probe->enabled)
                return;