]> sigrok.org Git - pulseview.git/blobdiff - pv/view/logicsignal.cpp
View: Create trace groups from channel groups
[pulseview.git] / pv / view / logicsignal.cpp
index 69c495e609fafd84b8113e274b3d270305240ff8..75a125a7eae58f334427edd86b73f5531058b825 100644 (file)
@@ -41,6 +41,7 @@
 
 using std::deque;
 using std::max;
+using std::make_pair;
 using std::min;
 using std::pair;
 using std::shared_ptr;
@@ -58,6 +59,9 @@ using sigrok::TriggerMatchType;
 namespace pv {
 namespace view {
 
+const int LogicSignal::SignalHeight = 30;
+const int LogicSignal::SignalMargin = 10;
+
 const float LogicSignal::Oversampling = 2.0f;
 
 const QColor LogicSignal::EdgeColour(0x80, 0x80, 0x80);
@@ -120,10 +124,15 @@ shared_ptr<pv::data::Logic> LogicSignal::logic_data() const
        return _data;
 }
 
+std::pair<int, int> LogicSignal::v_extents() const
+{
+       return make_pair(-SignalHeight - SignalMargin, SignalMargin);
+}
+
 void LogicSignal::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 LogicSignal::paint_mid(QPainter &p, int left, int right)
@@ -139,11 +148,11 @@ void LogicSignal::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);
-       
+
        const double scale = view->scale();
        assert(scale > 0);
 
@@ -152,7 +161,7 @@ void LogicSignal::paint_mid(QPainter &p, int left, int right)
        if (!_channel->enabled())
                return;
 
-       const float high_offset = y - View::SignalHeight + 0.5f;
+       const float high_offset = y - SignalHeight + 0.5f;
        const float low_offset = y + 0.5f;
 
        const deque< shared_ptr<pv::data::LogicSnapshot> > &snapshots =