Split signal painting into 3 layers
[pulseview.git] / pv / view / logicsignal.cpp
index bc4f5311b1fecb6200b85f7773ea0df3245c4090..19522fb27f0187d05fd3b27dfd5c705045445162 100644 (file)
@@ -162,7 +162,13 @@ const list<QAction*> LogicSignal::get_context_bar_actions()
        return actions;
 }
 
-void LogicSignal::paint(QPainter &p, int left, int right)
+void LogicSignal::paint_back(QPainter &p, int left, int right)
+{
+       if (_probe->enabled)
+               paint_axis(p, get_y(), left, right);
+}
+
+void LogicSignal::paint_mid(QPainter &p, int left, int right)
 {
        using pv::view::View;
 
@@ -185,8 +191,6 @@ void LogicSignal::paint(QPainter &p, int left, int right)
        if (!_probe->enabled)
                return;
 
-       paint_axis(p, y, left, right);
-
        const float high_offset = y - View::SignalHeight + 0.5f;
        const float low_offset = y + 0.5f;