]> sigrok.org Git - pulseview.git/blobdiff - pv/view/analogsignal.cpp
RowItem: Split appart visual and layout v offsets
[pulseview.git] / pv / view / analogsignal.cpp
index eaa25bccc947dac826d5bddf2eff50ec2fcdd325..a8d7b3e8113d6c514e9955fc9c897a65175977a3 100644 (file)
@@ -31,6 +31,7 @@
 #include <libsigrok/libsigrok.hpp>
 
 using std::max;
+using std::make_pair;
 using std::min;
 using std::shared_ptr;
 using std::deque;
@@ -40,6 +41,8 @@ using sigrok::Channel;
 namespace pv {
 namespace view {
 
+const int AnalogSignal::NominalHeight = 80;
+
 const QColor AnalogSignal::SignalColours[4] = {
        QColor(0xC4, 0xA0, 0x00),       // Yellow
        QColor(0x87, 0x20, 0x7A),       // Magenta
@@ -79,10 +82,15 @@ void AnalogSignal::set_scale(float scale)
        _scale = scale;
 }
 
+std::pair<int, int> AnalogSignal::v_extents() const
+{
+       return make_pair(-NominalHeight / 2, NominalHeight / 2);
+}
+
 void AnalogSignal::paint_back(QPainter &p, int left, int right)
 {
        if (_channel->enabled())
-               paint_axis(p, get_y(), left, right);
+               paint_axis(p, get_visual_y(), left, right);
 }
 
 void AnalogSignal::paint_mid(QPainter &p, int left, int right)
@@ -91,7 +99,7 @@ void AnalogSignal::paint_mid(QPainter &p, int left, int right)
        assert(right >= left);
        assert(_owner);
 
-       const int y = get_y();
+       const int y = get_visual_y();
 
        const View *const view = _owner->view();
        assert(view);