]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewport.cpp
View: Store CursorPair in a shared_ptr
[pulseview.git] / pv / view / viewport.cpp
index a94ada93faac055aae26761941e515b3318288a7..75902af2bc7588ba08fc9d4b6fe883e886e108c8 100644 (file)
@@ -22,6 +22,7 @@
 #include <cmath>
 #include <algorithm>
 
+#include "rowitempaintparams.hpp"
 #include "signal.hpp"
 #include "view.hpp"
 #include "viewport.hpp"
@@ -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();
 }