]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewport.cpp
View: Store CursorPair in a shared_ptr
[pulseview.git] / pv / view / viewport.cpp
index 220a10aada3adebb151df3f0970c7417f7649dea..75902af2bc7588ba08fc9d4b6fe883e886e108c8 100644 (file)
 #include <cmath>
 #include <algorithm>
 
-#include "view.h"
-#include "viewport.h"
+#include "rowitempaintparams.hpp"
+#include "signal.hpp"
+#include "view.hpp"
+#include "viewport.hpp"
 
-#include "signal.h"
-#include "../sigsession.h"
+#include <pv/session.hpp>
 
 #include <QMouseEvent>
 
@@ -67,23 +68,25 @@ void Viewport::paintEvent(QPaintEvent*)
        p.setRenderHint(QPainter::Antialiasing);
 
        if (view_.cursors_shown())
-               view_.cursors().draw_viewport_background(p, rect());
+               view_.cursors()->draw_viewport_background(p, rect());
+
+       const RowItemPaintParams pp(0, width(), view_.scale(), view_.offset());
 
        // Plot the signal
        for (const shared_ptr<RowItem> r : row_items)
        {
                assert(r);
-               r->paint_back(p, 0, width());
+               r->paint_back(p, pp);
        }
 
        for (const shared_ptr<RowItem> r : row_items)
-               r->paint_mid(p, 0, width());
+               r->paint_mid(p, pp);
 
        for (const shared_ptr<RowItem> r : row_items)
-               r->paint_fore(p, 0, width());
+               r->paint_fore(p, pp);
 
        if (view_.cursors_shown())
-               view_.cursors().draw_viewport_foreground(p, rect());
+               view_.cursors()->draw_viewport_foreground(p, rect());
 
        p.end();
 }