]> sigrok.org Git - pulseview.git/blobdiff - pv/view/decodetrace.cpp
pv::view::DecodeTrace: Draw annotation rows according to PD metadata.
[pulseview.git] / pv / view / decodetrace.cpp
index cf5cd2ee35e1cc496f953a44b63fdd711756bdfc..8c230ad42384cc093ba094ac9bd401377997061d 100644 (file)
@@ -47,8 +47,13 @@ extern "C" {
 #include <pv/widgets/decodergroupbox.h>
 #include <pv/widgets/decodermenu.h>
 
-using namespace boost;
-using namespace std;
+using boost::dynamic_pointer_cast;
+using boost::shared_ptr;
+using std::list;
+using std::max;
+using std::map;
+using std::min;
+using std::vector;
 
 namespace pv {
 namespace view {
@@ -150,9 +155,15 @@ void DecodeTrace::paint_mid(QPainter &p, int left, int right)
 
        assert(_decoder_stack);
        vector<Annotation> annotations(_decoder_stack->annotations());
-       BOOST_FOREACH(const Annotation &a, annotations)
+
+       BOOST_FOREACH(const Annotation &a, annotations) {
+               // Every annotation row is 20 pixels further down.
+               int y_ann_row_offset = a.row() * 20;
+
                draw_annotation(a, p, get_text_colour(), h, left, right,
-                       samples_per_pixel, pixels_offset, y);
+                       samples_per_pixel, pixels_offset,
+                       y + y_ann_row_offset);
+       }
 
        draw_unresolved_period(p, h, left, right,
                samples_per_pixel, pixels_offset);